Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / api / sound / sound.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xacb1=['UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','start','update','delete','server/files/sounds/original','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','squel','crypto','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','limit','set','apply','reject','save','destroy','then','get','Sounds','UserProfileResource','stack','name','send','index','map','Sound','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','offset','sort','where','pick','VIRTUAL','filter','options','includeAll','include','findAll','rows','params','find','catch','download','save_name','converted_format','existsSync','root','Sequelize','ValidationError','Sound\x20not\x20found','join','server/files/sounds/converted','format','%s.%s','basename','file','originalname','extname','filename','substring','wav','info','Sound\x20upload\x20filepath:\x20%s','Sound\x20upload\x20destination:\x20%s','chmodSync','0777','error','src','original_duration','duration','original_sampleCount','sampleCount','channelCount','original_bitRate','bitRate','sampleRate','dest','converted_channelCount','converted_bitRate','converted_sampleRate','create','body','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0xacb1,0x103));var _0x1acb=function(_0x3126ce,_0x39d06c){_0x3126ce=_0x3126ce-0x0;var _0x409a67=_0xacb1[_0x3126ce];return _0x409a67;};'use strict';var pdf=require(_0x1acb('0x0'));var emlformat=require(_0x1acb('0x1'));var rimraf=require(_0x1acb('0x2'));var zipdir=require(_0x1acb('0x3'));var jsonpatch=require(_0x1acb('0x4'));var rp=require(_0x1acb('0x5'));var moment=require(_0x1acb('0x6'));var BPromise=require(_0x1acb('0x7'));var Mustache=require(_0x1acb('0x8'));var util=require(_0x1acb('0x9'));var path=require(_0x1acb('0xa'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1acb('0xb'));var fs=require('fs');var _=require(_0x1acb('0xc'));var squel=require(_0x1acb('0xd'));var crypto=require(_0x1acb('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x1acb('0xf'));var toCsv=require(_0x1acb('0x10'));var querystring=require(_0x1acb('0x11'));var Papa=require('papaparse');var Redis=require(_0x1acb('0x12'));var authService=require(_0x1acb('0x13'));var qs=require(_0x1acb('0x14'));var as=require(_0x1acb('0x15'));var hardwareService=require(_0x1acb('0x16'));var logger=require('../../config/logger')(_0x1acb('0x17'));var utils=require(_0x1acb('0x18'));var config=require(_0x1acb('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x1acb('0x1a'))['db'];function respondWithStatusCode(_0x3a0ae1,_0xf845b2){_0xf845b2=_0xf845b2||0xcc;return function(_0x5cb212){if(_0x5cb212){return _0x3a0ae1[_0x1acb('0x1b')](_0xf845b2);}return _0x3a0ae1['status'](_0xf845b2)[_0x1acb('0x1c')]();};}function respondWithResult(_0x1873c9,_0x11af63){_0x11af63=_0x11af63||0xc8;return function(_0x2ec8b8){if(_0x2ec8b8){return _0x1873c9[_0x1acb('0x1d')](_0x11af63)[_0x1acb('0x1e')](_0x2ec8b8);}};}function respondWithFilteredResult(_0x589e6c,_0x143cb6){return function(_0x4760de){if(_0x4760de){var _0xbd6880=_0x4760de[_0x1acb('0x1f')],_0x554838=_0x143cb6['offset'],_0x409155=_0x143cb6['offset']+_0x143cb6[_0x1acb('0x20')],_0x2cca3b;if(_0x409155>=_0xbd6880){_0x409155=_0xbd6880;_0x2cca3b=0xc8;}else{_0x2cca3b=0xce;}_0x589e6c[_0x1acb('0x1d')](_0x2cca3b);return _0x589e6c[_0x1acb('0x21')]('Content-Range',_0x554838+'-'+_0x409155+'/'+_0xbd6880)[_0x1acb('0x1e')](_0x4760de);}return null;};}function patchUpdates(_0x153661){return function(_0x58708d){try{jsonpatch[_0x1acb('0x22')](_0x58708d,_0x153661,!![]);}catch(_0x322cda){return BPromise[_0x1acb('0x23')](_0x322cda);}return _0x58708d[_0x1acb('0x24')]();};}function saveUpdates(_0x35265c,_0x14c200){return function(_0x10d89d){if(_0x10d89d){return _0x10d89d['update'](_0x35265c)['then'](function(_0x3a1bc6){return _0x3a1bc6;});}return null;};}function removeEntity(_0xfffa98,_0x88b6d6){return function(_0x41a066){if(_0x41a066){return _0x41a066[_0x1acb('0x25')]()[_0x1acb('0x26')](function(){var _0x589247=_0x41a066[_0x1acb('0x27')]({'plain':!![]});var _0x460370=_0x1acb('0x28');return db[_0x1acb('0x29')]['destroy']({'where':{'type':_0x460370,'resourceId':_0x589247['id']}})['then'](function(){return _0x41a066;});})[_0x1acb('0x26')](function(){_0xfffa98['status'](0xcc)[_0x1acb('0x1c')]();});}};}function handleEntityNotFound(_0x2f4a9d,_0x34b94b){return function(_0x981c4c){if(!_0x981c4c){_0x2f4a9d['sendStatus'](0x194);}return _0x981c4c;};}function handleError(_0x1145a3,_0x4e1cdd){_0x4e1cdd=_0x4e1cdd||0x1f4;return function(_0x6f3cef){logger['error'](_0x6f3cef[_0x1acb('0x2a')]);if(_0x6f3cef[_0x1acb('0x2b')]){delete _0x6f3cef[_0x1acb('0x2b')];}_0x1145a3[_0x1acb('0x1d')](_0x4e1cdd)[_0x1acb('0x2c')](_0x6f3cef);};}exports[_0x1acb('0x2d')]=function(_0x401e5d,_0x34b572){var _0x30eac5={},_0x311b04={},_0x4f6df9={'count':0x0,'rows':[]};var _0x28cbd4=_[_0x1acb('0x2e')](db[_0x1acb('0x2f')][_0x1acb('0x30')],function(_0x22b4b2){return{'name':_0x22b4b2[_0x1acb('0x31')],'type':_0x22b4b2[_0x1acb('0x32')][_0x1acb('0x33')]};});_0x311b04[_0x1acb('0x34')]=_['map'](_0x28cbd4,_0x1acb('0x2b'));_0x311b04[_0x1acb('0x35')]=_['keys'](_0x401e5d[_0x1acb('0x35')]);_0x311b04[_0x1acb('0x36')]=_[_0x1acb('0x37')](_0x311b04['model'],_0x311b04['query']);_0x30eac5['attributes']=_[_0x1acb('0x37')](_0x311b04[_0x1acb('0x34')],qs[_0x1acb('0x38')](_0x401e5d[_0x1acb('0x35')]['fields']));_0x30eac5[_0x1acb('0x39')]=_0x30eac5['attributes'][_0x1acb('0x3a')]?_0x30eac5['attributes']:_0x311b04[_0x1acb('0x34')];if(!_0x401e5d['query'][_0x1acb('0x3b')](_0x1acb('0x3c'))){_0x30eac5[_0x1acb('0x20')]=qs[_0x1acb('0x20')](_0x401e5d[_0x1acb('0x35')][_0x1acb('0x20')]);_0x30eac5[_0x1acb('0x3d')]=qs[_0x1acb('0x3d')](_0x401e5d[_0x1acb('0x35')][_0x1acb('0x3d')]);}_0x30eac5['order']=qs[_0x1acb('0x3e')](_0x401e5d[_0x1acb('0x35')][_0x1acb('0x3e')]);_0x30eac5[_0x1acb('0x3f')]=qs[_0x1acb('0x36')](_[_0x1acb('0x40')](_0x401e5d[_0x1acb('0x35')],_0x311b04['filters']),_0x28cbd4);if(_0x401e5d[_0x1acb('0x35')]['filter']){_0x30eac5[_0x1acb('0x3f')]=_['merge'](_0x30eac5[_0x1acb('0x3f')],{'$or':_[_0x1acb('0x2e')](_0x28cbd4,function(_0x51d95d){if(_0x51d95d[_0x1acb('0x32')]!==_0x1acb('0x41')){var _0x592bea={};_0x592bea[_0x51d95d['name']]={'$like':'%'+_0x401e5d[_0x1acb('0x35')][_0x1acb('0x42')]+'%'};return _0x592bea;}})});}_0x30eac5=_['merge']({},_0x30eac5,_0x401e5d[_0x1acb('0x43')]);var _0x1c6917={'where':_0x30eac5[_0x1acb('0x3f')]};return db[_0x1acb('0x2f')]['count'](_0x1c6917)[_0x1acb('0x26')](function(_0x593b76){_0x4f6df9[_0x1acb('0x1f')]=_0x593b76;if(_0x401e5d[_0x1acb('0x35')][_0x1acb('0x44')]){_0x30eac5[_0x1acb('0x45')]=[{'all':!![]}];}return db[_0x1acb('0x2f')][_0x1acb('0x46')](_0x30eac5);})[_0x1acb('0x26')](function(_0x3690c3){_0x4f6df9[_0x1acb('0x47')]=_0x3690c3;return _0x4f6df9;})[_0x1acb('0x26')](respondWithFilteredResult(_0x34b572,_0x30eac5))['catch'](handleError(_0x34b572,null));};exports['show']=function(_0x13a373,_0x407be2){var _0x544092={'raw':!![],'where':{'id':_0x13a373[_0x1acb('0x48')]['id']}},_0x55e3f8={};_0x55e3f8[_0x1acb('0x34')]=_['keys'](db['Sound']['rawAttributes']);_0x55e3f8[_0x1acb('0x35')]=_['keys'](_0x13a373[_0x1acb('0x35')]);_0x55e3f8[_0x1acb('0x36')]=_[_0x1acb('0x37')](_0x55e3f8[_0x1acb('0x34')],_0x55e3f8['query']);_0x544092[_0x1acb('0x39')]=_[_0x1acb('0x37')](_0x55e3f8['model'],qs['fields'](_0x13a373[_0x1acb('0x35')][_0x1acb('0x38')]));_0x544092[_0x1acb('0x39')]=_0x544092[_0x1acb('0x39')][_0x1acb('0x3a')]?_0x544092['attributes']:_0x55e3f8['model'];if(_0x13a373[_0x1acb('0x35')][_0x1acb('0x44')]){_0x544092[_0x1acb('0x45')]=[{'all':!![]}];}_0x544092=_['merge']({},_0x544092,_0x13a373['options']);return db[_0x1acb('0x2f')][_0x1acb('0x49')](_0x544092)['then'](handleEntityNotFound(_0x407be2,null))['then'](respondWithResult(_0x407be2,null))[_0x1acb('0x4a')](handleError(_0x407be2,null));};exports[_0x1acb('0x4b')]=function(_0xfdc90d,_0x237626,_0x2af324){return db['Sound'][_0x1acb('0x49')]({'where':{'id':_0xfdc90d[_0x1acb('0x48')]['id']},'attributes':[_0x1acb('0x2b'),_0x1acb('0x4c'),_0x1acb('0x4d')],'raw':!![]})[_0x1acb('0x26')](handleEntityNotFound(_0x237626,null))['then'](function(_0x57fdfe){if(_0x57fdfe){if(!fs[_0x1acb('0x4e')](path['join'](config[_0x1acb('0x4f')],'server/files/sounds/converted',_0x57fdfe['save_name']+'.'+_0x57fdfe[_0x1acb('0x4d')]))){throw new db[(_0x1acb('0x50'))][(_0x1acb('0x51'))](_0x1acb('0x52'));}return _0x237626[_0x1acb('0x4b')](path[_0x1acb('0x53')](config[_0x1acb('0x4f')],_0x1acb('0x54'),util[_0x1acb('0x55')](_0x1acb('0x56'),_0x57fdfe[_0x1acb('0x4c')],_0x57fdfe[_0x1acb('0x4d')])),util[_0x1acb('0x55')](_0x1acb('0x56'),_0x57fdfe['name'],_0x57fdfe[_0x1acb('0x4d')]));}return null;})[_0x1acb('0x4a')](handleError(_0x237626,null));};exports['create']=function(_0x54599a,_0x45e6a8,_0x22080d){var _0x7cdcfa={'name':path[_0x1acb('0x57')](_0x54599a[_0x1acb('0x58')][_0x1acb('0x59')],path[_0x1acb('0x5a')](_0x54599a['file'][_0x1acb('0x59')])),'save_name':path[_0x1acb('0x57')](_0x54599a['file'][_0x1acb('0x5b')],path[_0x1acb('0x5a')](_0x54599a[_0x1acb('0x58')]['filename'])),'original_format':path[_0x1acb('0x5a')](_0x54599a[_0x1acb('0x58')][_0x1acb('0x59')])[_0x1acb('0x5c')](0x1),'converted_format':_0x1acb('0x5d')};var _0x4a235a=path['join'](config[_0x1acb('0x4f')],'server/files/sounds/original',_0x54599a[_0x1acb('0x58')][_0x1acb('0x5b')]);var _0x5d1a86=path[_0x1acb('0x53')](config['root'],_0x1acb('0x54'),util['format'](_0x1acb('0x56'),path[_0x1acb('0x57')](_0x54599a[_0x1acb('0x58')][_0x1acb('0x5b')],path[_0x1acb('0x5a')](_0x54599a['file']['filename'])),_0x7cdcfa['converted_format']));logger[_0x1acb('0x5e')](_0x1acb('0x5f'),_0x4a235a);logger[_0x1acb('0x5e')](_0x1acb('0x60'),_0x5d1a86);try{fs[_0x1acb('0x61')](_0x4a235a,parseInt(_0x1acb('0x62'),0x8));var _0x161f6c=sox['transcode'](_0x4a235a,_0x5d1a86,{'sampleRate':0x1f40,'format':_0x1acb('0x5d'),'channelCount':0x1,'bitRate':0xc0*0x400,'compressionQuality':0x5});_0x161f6c['on'](_0x1acb('0x63'),function(_0x49ed3f){fs['unlinkSync'](_0x4a235a);_0x45e6a8['status'](0x1f4)[_0x1acb('0x2c')](_0x49ed3f);});_0x161f6c['on'](_0x1acb('0x64'),function(_0x1fac38){_0x7cdcfa[_0x1acb('0x65')]=isNaN(_0x1fac38['duration'])?null:_0x1fac38[_0x1acb('0x66')]*0x3e8;_0x7cdcfa[_0x1acb('0x67')]=isNaN(_0x1fac38[_0x1acb('0x68')])?null:_0x1fac38[_0x1acb('0x68')];_0x7cdcfa['original_channelCount']=isNaN(_0x1fac38[_0x1acb('0x69')])?null:_0x1fac38[_0x1acb('0x69')];_0x7cdcfa[_0x1acb('0x6a')]=isNaN(_0x1fac38[_0x1acb('0x6b')])?null:_0x1fac38[_0x1acb('0x6b')];_0x7cdcfa['original_sampleRate']=isNaN(_0x1fac38[_0x1acb('0x6c')])?null:_0x1fac38[_0x1acb('0x6c')];});_0x161f6c['on'](_0x1acb('0x6d'),function(_0x32b16b){_0x7cdcfa['converted_duration']=isNaN(_0x32b16b['duration'])?null:_0x32b16b[_0x1acb('0x66')]*0x3e8;_0x7cdcfa['converted_sampleCount']=isNaN(_0x32b16b[_0x1acb('0x68')])?null:_0x32b16b[_0x1acb('0x68')];_0x7cdcfa[_0x1acb('0x6e')]=isNaN(_0x32b16b[_0x1acb('0x69')])?null:_0x32b16b[_0x1acb('0x69')];_0x7cdcfa[_0x1acb('0x6f')]=isNaN(_0x32b16b[_0x1acb('0x6b')])?null:_0x32b16b[_0x1acb('0x6b')];_0x7cdcfa[_0x1acb('0x70')]=isNaN(_0x32b16b[_0x1acb('0x6c')])?null:_0x32b16b[_0x1acb('0x6c')];});_0x161f6c['on'](_0x1acb('0x1c'),function(){fs['chmodSync'](_0x5d1a86,parseInt(_0x1acb('0x62'),0x8));return db['Sound'][_0x1acb('0x71')](_0x7cdcfa)[_0x1acb('0x26')](function(_0x79bd67){var _0xcb90c9={'role':_0x54599a[_0x1acb('0x72')]['role'],'userProfileId':_0x54599a[_0x1acb('0x72')][_0x1acb('0x73')]};if(!_0xcb90c9)throw new Error(_0x1acb('0x74'));if(_0xcb90c9[_0x1acb('0x75')]===_0x1acb('0x76')){var _0x5d4763=_0x79bd67[_0x1acb('0x27')]({'plain':!![]});return db[_0x1acb('0x77')]['find']({'where':{'name':'Sounds','userProfileId':_0xcb90c9['userProfileId']},'raw':!![]})[_0x1acb('0x26')](function(_0x37f02d){if(_0x37f02d&&_0x37f02d['autoAssociation']===0x0){return db[_0x1acb('0x29')][_0x1acb('0x71')]({'name':_0x5d4763[_0x1acb('0x2b')],'resourceId':_0x5d4763['id'],'type':_0x37f02d['name'],'sectionId':_0x37f02d['id']},{})['then'](function(){return _0x79bd67;});}else{return _0x79bd67;}})['catch'](function(_0x2c20e4){logger[_0x1acb('0x63')](_0x1acb('0x78'),_0x2c20e4);throw _0x2c20e4;});}return _0x79bd67;})['then'](respondWithResult(_0x45e6a8,null))[_0x1acb('0x4a')](handleError(_0x45e6a8,null));});_0x161f6c[_0x1acb('0x79')]();}catch(_0x18d5ba){_0x45e6a8[_0x1acb('0x1d')](0x1f4)[_0x1acb('0x2c')](_0x18d5ba);}};exports[_0x1acb('0x7a')]=function(_0x3706d1,_0x566711,_0x5d2e8c){return db['Sound'][_0x1acb('0x49')]({'where':{'id':_0x3706d1[_0x1acb('0x48')]['id']}})[_0x1acb('0x26')](handleEntityNotFound(_0x566711,null))[_0x1acb('0x26')](saveUpdates(_['pick'](_0x3706d1[_0x1acb('0x72')],[_0x1acb('0x2b'),'description']),null))[_0x1acb('0x26')](respondWithResult(_0x566711,null))['catch'](handleError(_0x566711,null));};exports[_0x1acb('0x7b')]=function(_0x53d5b2,_0x180fee,_0x4f4ef3){return db[_0x1acb('0x2f')][_0x1acb('0x49')]({'where':{'id':_0x53d5b2[_0x1acb('0x48')]['id']}})['then'](function(_0x3acbef){if(_0x3acbef){return _0x3acbef['destroy']();}})['then'](function(_0x1030a1){var _0x313419=path[_0x1acb('0x53')](config['root'],_0x1acb('0x7c'),util['format'](_0x1acb('0x56'),_0x1030a1[_0x1acb('0x4c')],_0x1030a1['original_format']));var _0x428151=path[_0x1acb('0x53')](config[_0x1acb('0x4f')],_0x1acb('0x54'),util['format'](_0x1acb('0x56'),_0x1030a1['save_name'],_0x1030a1[_0x1acb('0x4d')]));fs[_0x1acb('0x7d')](_0x313419);fs['unlinkSync'](_0x428151);return _0x1030a1;})[_0x1acb('0x26')](function(_0x2f81fe){if(_0x2f81fe){return _0x180fee[_0x1acb('0x1d')](0xcc)[_0x1acb('0x1c')]();}})[_0x1acb('0x26')](handleEntityNotFound(_0x180fee,null))[_0x1acb('0x4a')](handleError(_0x180fee,null));};