Built motion from commit 953226e6.|2.6.32
[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 _0x91d6=['server/files/sounds/converted','Sequelize','Sound\x20not\x20found','format','%s.%s','create','basename','file','originalname','extname','filename','wav','server/files/sounds/original','info','Sound\x20upload\x20filepath:\x20%s','Sound\x20upload\x20destination:\x20%s','transcode','unlinkSync','duration','original_sampleCount','sampleCount','original_channelCount','original_bitRate','bitRate','original_sampleRate','sampleRate','dest','converted_duration','converted_sampleCount','converted_channelCount','channelCount','converted_bitRate','converted_sampleRate','0777','body','role','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','description','delete','original_format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','then','destroy','get','Sounds','UserProfileResource','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','options','Sound','includeAll','include','findAll','rows','catch','params','length','find','download','save_name','converted_format','existsSync','join','root'];(function(_0x14b5a5,_0x231b3a){var _0x2a7706=function(_0x2d451d){while(--_0x2d451d){_0x14b5a5['push'](_0x14b5a5['shift']());}};_0x2a7706(++_0x231b3a);}(_0x91d6,0xa8));var _0x691d=function(_0x2faddb,_0xc18b78){_0x2faddb=_0x2faddb-0x0;var _0x273c05=_0x91d6[_0x2faddb];return _0x273c05;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x691d('0x0'));var zipdir=require(_0x691d('0x1'));var jsonpatch=require(_0x691d('0x2'));var rp=require('request-promise');var moment=require(_0x691d('0x3'));var BPromise=require(_0x691d('0x4'));var Mustache=require(_0x691d('0x5'));var util=require(_0x691d('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x691d('0x7'));var ejs=require(_0x691d('0x8'));var fs=require('fs');var fs_extra=require(_0x691d('0x9'));var _=require(_0x691d('0xa'));var squel=require(_0x691d('0xb'));var crypto=require(_0x691d('0xc'));var jsforce=require(_0x691d('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x691d('0xe'));var Papa=require(_0x691d('0xf'));var Redis=require(_0x691d('0x10'));var authService=require(_0x691d('0x11'));var qs=require(_0x691d('0x12'));var as=require(_0x691d('0x13'));var hardwareService=require(_0x691d('0x14'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x691d('0x15'));var licenseUtil=require(_0x691d('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x34c3af,_0x1dc15b){_0x1dc15b=_0x1dc15b||0xcc;return function(_0x3e2be1){if(_0x3e2be1){return _0x34c3af['sendStatus'](_0x1dc15b);}return _0x34c3af[_0x691d('0x17')](_0x1dc15b)[_0x691d('0x18')]();};}function respondWithResult(_0x347243,_0x134e3f){_0x134e3f=_0x134e3f||0xc8;return function(_0x1e8690){if(_0x1e8690){return _0x347243[_0x691d('0x17')](_0x134e3f)[_0x691d('0x19')](_0x1e8690);}};}function respondWithFilteredResult(_0x7da222,_0x52077e){return function(_0x5479e7){if(_0x5479e7){var _0x5098a8=typeof _0x52077e[_0x691d('0x1a')]==='undefined'&&typeof _0x52077e['limit']===_0x691d('0x1b');var _0x4d5bbf=_0x5479e7[_0x691d('0x1c')];var _0x3d681b=_0x5098a8?0x0:_0x52077e[_0x691d('0x1a')];var _0x2f1328=_0x5098a8?_0x5479e7[_0x691d('0x1c')]:_0x52077e[_0x691d('0x1a')]+_0x52077e[_0x691d('0x1d')];var _0x16a32d;if(_0x2f1328>=_0x4d5bbf){_0x2f1328=_0x4d5bbf;_0x16a32d=0xc8;}else{_0x16a32d=0xce;}_0x7da222[_0x691d('0x17')](_0x16a32d);return _0x7da222[_0x691d('0x1e')]('Content-Range',_0x3d681b+'-'+_0x2f1328+'/'+_0x4d5bbf)[_0x691d('0x19')](_0x5479e7);}return null;};}function patchUpdates(_0x379b5e){return function(_0x3cf0a7){try{jsonpatch[_0x691d('0x1f')](_0x3cf0a7,_0x379b5e,!![]);}catch(_0x3cc8a6){return BPromise[_0x691d('0x20')](_0x3cc8a6);}return _0x3cf0a7[_0x691d('0x21')]();};}function saveUpdates(_0x1cc31d,_0x352cb7){return function(_0x2be5b8){if(_0x2be5b8){return _0x2be5b8[_0x691d('0x22')](_0x1cc31d)[_0x691d('0x23')](function(_0x1a8698){return _0x1a8698;});}return null;};}function removeEntity(_0x3af6a6,_0x262a86){return function(_0x300e0c){if(_0x300e0c){return _0x300e0c[_0x691d('0x24')]()['then'](function(){var _0x306bd0=_0x300e0c[_0x691d('0x25')]({'plain':!![]});var _0x1cdc54=_0x691d('0x26');return db[_0x691d('0x27')][_0x691d('0x24')]({'where':{'type':_0x1cdc54,'resourceId':_0x306bd0['id']}})['then'](function(){return _0x300e0c;});})[_0x691d('0x23')](function(){_0x3af6a6[_0x691d('0x17')](0xcc)[_0x691d('0x18')]();});}};}function handleEntityNotFound(_0x30a238,_0x18c94a){return function(_0x32f572){if(!_0x32f572){_0x30a238[_0x691d('0x28')](0x194);}return _0x32f572;};}function handleError(_0x1dd848,_0x1f342b){_0x1f342b=_0x1f342b||0x1f4;return function(_0x123237){logger[_0x691d('0x29')](_0x123237[_0x691d('0x2a')]);if(_0x123237[_0x691d('0x2b')]){delete _0x123237['name'];}_0x1dd848[_0x691d('0x17')](_0x1f342b)[_0x691d('0x2c')](_0x123237);};}exports[_0x691d('0x2d')]=function(_0x19af08,_0x29b3b9){var _0x503a2b={},_0x346063={},_0x550894={'count':0x0,'rows':[]};var _0x4065ab=_[_0x691d('0x2e')](db['Sound'][_0x691d('0x2f')],function(_0x63bfa2){return{'name':_0x63bfa2[_0x691d('0x30')],'type':_0x63bfa2['type']['key']};});_0x346063[_0x691d('0x31')]=_[_0x691d('0x2e')](_0x4065ab,_0x691d('0x2b'));_0x346063[_0x691d('0x32')]=_[_0x691d('0x33')](_0x19af08[_0x691d('0x32')]);_0x346063[_0x691d('0x34')]=_[_0x691d('0x35')](_0x346063[_0x691d('0x31')],_0x346063[_0x691d('0x32')]);_0x503a2b['attributes']=_[_0x691d('0x35')](_0x346063['model'],qs[_0x691d('0x36')](_0x19af08['query'][_0x691d('0x36')]));_0x503a2b['attributes']=_0x503a2b[_0x691d('0x37')]['length']?_0x503a2b[_0x691d('0x37')]:_0x346063[_0x691d('0x31')];if(!_0x19af08[_0x691d('0x32')]['hasOwnProperty'](_0x691d('0x38'))){_0x503a2b['limit']=qs[_0x691d('0x1d')](_0x19af08[_0x691d('0x32')][_0x691d('0x1d')]);_0x503a2b[_0x691d('0x1a')]=qs['offset'](_0x19af08[_0x691d('0x32')][_0x691d('0x1a')]);}_0x503a2b['order']=qs[_0x691d('0x39')](_0x19af08[_0x691d('0x32')][_0x691d('0x39')]);_0x503a2b[_0x691d('0x3a')]=qs['filters'](_[_0x691d('0x3b')](_0x19af08[_0x691d('0x32')],_0x346063['filters']),_0x4065ab);if(_0x19af08[_0x691d('0x32')][_0x691d('0x3c')]){_0x503a2b['where']=_[_0x691d('0x3d')](_0x503a2b[_0x691d('0x3a')],{'$or':_[_0x691d('0x2e')](_0x4065ab,function(_0xf7d5a3){if(_0xf7d5a3[_0x691d('0x3e')]!==_0x691d('0x3f')){var _0x17dd30={};_0x17dd30[_0xf7d5a3[_0x691d('0x2b')]]={'$like':'%'+_0x19af08[_0x691d('0x32')][_0x691d('0x3c')]+'%'};return _0x17dd30;}})});}_0x503a2b=_[_0x691d('0x3d')]({},_0x503a2b,_0x19af08[_0x691d('0x40')]);var _0xb80f8e={'where':_0x503a2b['where']};return db[_0x691d('0x41')][_0x691d('0x1c')](_0xb80f8e)[_0x691d('0x23')](function(_0x7c6072){_0x550894[_0x691d('0x1c')]=_0x7c6072;if(_0x19af08[_0x691d('0x32')][_0x691d('0x42')]){_0x503a2b[_0x691d('0x43')]=[{'all':!![]}];}return db[_0x691d('0x41')][_0x691d('0x44')](_0x503a2b);})[_0x691d('0x23')](function(_0x38016b){_0x550894[_0x691d('0x45')]=_0x38016b;return _0x550894;})[_0x691d('0x23')](respondWithFilteredResult(_0x29b3b9,_0x503a2b))[_0x691d('0x46')](handleError(_0x29b3b9,null));};exports['show']=function(_0x1af44c,_0x127f91){var _0x3756b4={'raw':!![],'where':{'id':_0x1af44c[_0x691d('0x47')]['id']}},_0x1a104c={};_0x1a104c[_0x691d('0x31')]=_[_0x691d('0x33')](db['Sound'][_0x691d('0x2f')]);_0x1a104c['query']=_[_0x691d('0x33')](_0x1af44c[_0x691d('0x32')]);_0x1a104c[_0x691d('0x34')]=_[_0x691d('0x35')](_0x1a104c['model'],_0x1a104c[_0x691d('0x32')]);_0x3756b4[_0x691d('0x37')]=_[_0x691d('0x35')](_0x1a104c[_0x691d('0x31')],qs[_0x691d('0x36')](_0x1af44c[_0x691d('0x32')]['fields']));_0x3756b4[_0x691d('0x37')]=_0x3756b4[_0x691d('0x37')][_0x691d('0x48')]?_0x3756b4[_0x691d('0x37')]:_0x1a104c[_0x691d('0x31')];if(_0x1af44c[_0x691d('0x32')][_0x691d('0x42')]){_0x3756b4[_0x691d('0x43')]=[{'all':!![]}];}_0x3756b4=_[_0x691d('0x3d')]({},_0x3756b4,_0x1af44c[_0x691d('0x40')]);return db['Sound'][_0x691d('0x49')](_0x3756b4)[_0x691d('0x23')](handleEntityNotFound(_0x127f91,null))[_0x691d('0x23')](respondWithResult(_0x127f91,null))[_0x691d('0x46')](handleError(_0x127f91,null));};exports[_0x691d('0x4a')]=function(_0x36bf64,_0x62eb06,_0x18e512){return db['Sound'][_0x691d('0x49')]({'where':{'id':_0x36bf64[_0x691d('0x47')]['id']},'attributes':[_0x691d('0x2b'),_0x691d('0x4b'),_0x691d('0x4c')],'raw':!![]})[_0x691d('0x23')](handleEntityNotFound(_0x62eb06,null))[_0x691d('0x23')](function(_0x3de052){if(_0x3de052){if(!fs[_0x691d('0x4d')](path[_0x691d('0x4e')](config[_0x691d('0x4f')],_0x691d('0x50'),_0x3de052[_0x691d('0x4b')]+'.'+_0x3de052[_0x691d('0x4c')]))){throw new db[(_0x691d('0x51'))]['ValidationError'](_0x691d('0x52'));}return _0x62eb06[_0x691d('0x4a')](path[_0x691d('0x4e')](config[_0x691d('0x4f')],'server/files/sounds/converted',util[_0x691d('0x53')]('%s.%s',_0x3de052['save_name'],_0x3de052['converted_format'])),util[_0x691d('0x53')](_0x691d('0x54'),_0x3de052['name'],_0x3de052['converted_format']));}return null;})[_0x691d('0x46')](handleError(_0x62eb06,null));};exports[_0x691d('0x55')]=function(_0x41671a,_0x45bee6,_0x24c5ba){var _0x4646b4={'name':path[_0x691d('0x56')](_0x41671a[_0x691d('0x57')][_0x691d('0x58')],path[_0x691d('0x59')](_0x41671a[_0x691d('0x57')][_0x691d('0x58')])),'save_name':path[_0x691d('0x56')](_0x41671a[_0x691d('0x57')][_0x691d('0x5a')],path[_0x691d('0x59')](_0x41671a[_0x691d('0x57')]['filename'])),'original_format':path['extname'](_0x41671a[_0x691d('0x57')]['originalname'])['substring'](0x1),'converted_format':_0x691d('0x5b')};var _0x5974bc=path['join'](config[_0x691d('0x4f')],_0x691d('0x5c'),_0x41671a['file'][_0x691d('0x5a')]);var _0x2f6305=path[_0x691d('0x4e')](config[_0x691d('0x4f')],_0x691d('0x50'),util['format'](_0x691d('0x54'),path['basename'](_0x41671a[_0x691d('0x57')][_0x691d('0x5a')],path[_0x691d('0x59')](_0x41671a[_0x691d('0x57')][_0x691d('0x5a')])),_0x4646b4[_0x691d('0x4c')]));logger[_0x691d('0x5d')](_0x691d('0x5e'),_0x5974bc);logger[_0x691d('0x5d')](_0x691d('0x5f'),_0x2f6305);try{fs['chmodSync'](_0x5974bc,parseInt('0777',0x8));var _0x85da70=sox[_0x691d('0x60')](_0x5974bc,_0x2f6305,{'sampleRate':0x1f40,'format':_0x691d('0x5b'),'channelCount':0x1,'bitRate':0xc0*0x400,'compressionQuality':0x5});_0x85da70['on']('error',function(_0x1481bb){fs[_0x691d('0x61')](_0x5974bc);_0x45bee6['status'](0x1f4)['send'](_0x1481bb);});_0x85da70['on']('src',function(_0x35783e){_0x4646b4['original_duration']=isNaN(_0x35783e[_0x691d('0x62')])?null:_0x35783e[_0x691d('0x62')]*0x3e8;_0x4646b4[_0x691d('0x63')]=isNaN(_0x35783e[_0x691d('0x64')])?null:_0x35783e[_0x691d('0x64')];_0x4646b4[_0x691d('0x65')]=isNaN(_0x35783e['channelCount'])?null:_0x35783e['channelCount'];_0x4646b4[_0x691d('0x66')]=isNaN(_0x35783e['bitRate'])?null:_0x35783e[_0x691d('0x67')];_0x4646b4[_0x691d('0x68')]=isNaN(_0x35783e[_0x691d('0x69')])?null:_0x35783e[_0x691d('0x69')];});_0x85da70['on'](_0x691d('0x6a'),function(_0x418f59){_0x4646b4[_0x691d('0x6b')]=isNaN(_0x418f59['duration'])?null:_0x418f59[_0x691d('0x62')]*0x3e8;_0x4646b4[_0x691d('0x6c')]=isNaN(_0x418f59[_0x691d('0x64')])?null:_0x418f59[_0x691d('0x64')];_0x4646b4[_0x691d('0x6d')]=isNaN(_0x418f59[_0x691d('0x6e')])?null:_0x418f59[_0x691d('0x6e')];_0x4646b4[_0x691d('0x6f')]=isNaN(_0x418f59[_0x691d('0x67')])?null:_0x418f59[_0x691d('0x67')];_0x4646b4[_0x691d('0x70')]=isNaN(_0x418f59[_0x691d('0x69')])?null:_0x418f59[_0x691d('0x69')];});_0x85da70['on']('end',function(){fs['chmodSync'](_0x2f6305,parseInt(_0x691d('0x71'),0x8));return db[_0x691d('0x41')][_0x691d('0x55')](_0x4646b4)[_0x691d('0x23')](function(_0x57ab26){var _0x30842d={'role':_0x41671a[_0x691d('0x72')]['role'],'userProfileId':_0x41671a[_0x691d('0x72')]['userProfileId']};if(!_0x30842d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x30842d[_0x691d('0x73')]===_0x691d('0x74')){var _0x1afdef=_0x57ab26[_0x691d('0x25')]({'plain':!![]});return db[_0x691d('0x75')]['find']({'where':{'name':_0x691d('0x26'),'userProfileId':_0x30842d[_0x691d('0x76')]},'raw':!![]})[_0x691d('0x23')](function(_0x10f02b){if(_0x10f02b&&_0x10f02b[_0x691d('0x77')]===0x0){return db['UserProfileResource']['create']({'name':_0x1afdef[_0x691d('0x2b')],'resourceId':_0x1afdef['id'],'type':_0x10f02b['name'],'sectionId':_0x10f02b['id']},{})[_0x691d('0x23')](function(){return _0x57ab26;});}else{return _0x57ab26;}})['catch'](function(_0x11eab2){logger[_0x691d('0x29')](_0x691d('0x78'),_0x11eab2);throw _0x11eab2;});}return _0x57ab26;})['then'](respondWithResult(_0x45bee6,null))['catch'](handleError(_0x45bee6,null));});_0x85da70['start']();}catch(_0x4b8f4c){_0x45bee6[_0x691d('0x17')](0x1f4)[_0x691d('0x2c')](_0x4b8f4c);}};exports[_0x691d('0x22')]=function(_0x3b545b,_0x1cf908,_0x1a2ec2){return db['Sound'][_0x691d('0x49')]({'where':{'id':_0x3b545b[_0x691d('0x47')]['id']}})['then'](handleEntityNotFound(_0x1cf908,null))[_0x691d('0x23')](saveUpdates(_[_0x691d('0x3b')](_0x3b545b['body'],['name',_0x691d('0x79')]),null))[_0x691d('0x23')](respondWithResult(_0x1cf908,null))[_0x691d('0x46')](handleError(_0x1cf908,null));};exports[_0x691d('0x7a')]=function(_0x501a0f,_0xa5f3e1,_0x13a875){return db[_0x691d('0x41')]['find']({'where':{'id':_0x501a0f['params']['id']}})[_0x691d('0x23')](function(_0x2a1a4b){if(_0x2a1a4b){return _0x2a1a4b['destroy']();}})[_0x691d('0x23')](function(_0x1ffc95){var _0xc87278=path[_0x691d('0x4e')](config[_0x691d('0x4f')],_0x691d('0x5c'),util[_0x691d('0x53')](_0x691d('0x54'),_0x1ffc95[_0x691d('0x4b')],_0x1ffc95[_0x691d('0x7b')]));var _0x168a6b=path[_0x691d('0x4e')](config[_0x691d('0x4f')],_0x691d('0x50'),util[_0x691d('0x53')](_0x691d('0x54'),_0x1ffc95[_0x691d('0x4b')],_0x1ffc95[_0x691d('0x4c')]));fs[_0x691d('0x61')](_0xc87278);fs[_0x691d('0x61')](_0x168a6b);return _0x1ffc95;})[_0x691d('0x23')](function(_0x307161){if(_0x307161){return _0xa5f3e1[_0x691d('0x17')](0xcc)[_0x691d('0x18')]();}})[_0x691d('0x23')](handleEntityNotFound(_0xa5f3e1,null))[_0x691d('0x46')](handleError(_0xa5f3e1,null));};