Built motion from commit (unavailable).|2.3.95
[motion2.git] / server / api / voiceRecording / voiceRecording.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 _0xe0fc=['rawAttributes','model','keys','format','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','map','type','key','VIRTUAL','options','includeAll','include','findAll','rows','show','find','catch','create','body','params','describe','uniqueid','value','%s.cypher','existsSync','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','download','unlink','downloads','../../components/encryptor','sequelize','MD5','col','token','$and','push','decryptFile','extname','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','json','count','offset','limit','Content-Range','apply','update','then','destroy','end','error','stack','name','index','VoiceRecording'];(function(_0x1c88f9,_0x211646){var _0x1779f7=function(_0x1dc48e){while(--_0x1dc48e){_0x1c88f9['push'](_0x1c88f9['shift']());}};_0x1779f7(++_0x211646);}(_0xe0fc,0x98));var _0xce0f=function(_0x124096,_0xbb4341){_0x124096=_0x124096-0x0;var _0x123aed=_0xe0fc[_0x124096];return _0x123aed;};'use strict';var pdf=require(_0xce0f('0x0'));var emlformat=require(_0xce0f('0x1'));var rimraf=require(_0xce0f('0x2'));var zipdir=require(_0xce0f('0x3'));var jsonpatch=require(_0xce0f('0x4'));var rp=require(_0xce0f('0x5'));var moment=require('moment');var BPromise=require(_0xce0f('0x6'));var Mustache=require(_0xce0f('0x7'));var util=require(_0xce0f('0x8'));var path=require(_0xce0f('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xce0f('0xa'));var fs=require('fs');var _=require(_0xce0f('0xb'));var squel=require(_0xce0f('0xc'));var crypto=require(_0xce0f('0xd'));var jsforce=require(_0xce0f('0xe'));var deskjs=require(_0xce0f('0xf'));var toCsv=require('to-csv');var querystring=require(_0xce0f('0x10'));var Papa=require('papaparse');var authService=require(_0xce0f('0x11'));var hardwareService=require(_0xce0f('0x12'));var Redis=require(_0xce0f('0x13'));var qs=require(_0xce0f('0x14'));var logger=require(_0xce0f('0x15'))(_0xce0f('0x16'));var utils=require(_0xce0f('0x17'));var config=require(_0xce0f('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2f3b20,_0x3c30e5){_0x3c30e5=_0x3c30e5||0xcc;return function(_0x533be7){if(_0x533be7){return _0x2f3b20[_0xce0f('0x19')](_0x3c30e5);}return _0x2f3b20['status'](_0x3c30e5)['end']();};}function respondWithResult(_0x4966fa,_0x19e0a1){_0x19e0a1=_0x19e0a1||0xc8;return function(_0x464b49){if(_0x464b49){return _0x4966fa[_0xce0f('0x1a')](_0x19e0a1)[_0xce0f('0x1b')](_0x464b49);}};}function respondWithFilteredResult(_0x5d5595,_0x3c274a){return function(_0x542fa7){if(_0x542fa7){var _0x35ca12=_0x542fa7[_0xce0f('0x1c')],_0x2e6c1f=_0x3c274a[_0xce0f('0x1d')],_0x4c71e4=_0x3c274a[_0xce0f('0x1d')]+_0x3c274a[_0xce0f('0x1e')],_0xbec7c3;if(_0x4c71e4>=_0x35ca12){_0x4c71e4=_0x35ca12;_0xbec7c3=0xc8;}else{_0xbec7c3=0xce;}_0x5d5595[_0xce0f('0x1a')](_0xbec7c3);return _0x5d5595['set'](_0xce0f('0x1f'),_0x2e6c1f+'-'+_0x4c71e4+'/'+_0x35ca12)[_0xce0f('0x1b')](_0x542fa7);}return null;};}function patchUpdates(_0x54c53a){return function(_0x41fd3e){try{jsonpatch[_0xce0f('0x20')](_0x41fd3e,_0x54c53a,!![]);}catch(_0x2f7cc0){return BPromise['reject'](_0x2f7cc0);}return _0x41fd3e['save']();};}function saveUpdates(_0x3489be,_0x3e38a4){return function(_0x3ad94c){if(_0x3ad94c){return _0x3ad94c[_0xce0f('0x21')](_0x3489be)[_0xce0f('0x22')](function(_0x55756a){return _0x55756a;});}return null;};}function removeEntity(_0x4d0d28,_0x779ec7){return function(_0x1c9791){if(_0x1c9791){return _0x1c9791[_0xce0f('0x23')]()[_0xce0f('0x22')](function(){_0x4d0d28[_0xce0f('0x1a')](0xcc)[_0xce0f('0x24')]();});}};}function handleEntityNotFound(_0x3579c7,_0x99bf6f){return function(_0x1c2ad6){if(!_0x1c2ad6){_0x3579c7[_0xce0f('0x19')](0x194);}return _0x1c2ad6;};}function handleError(_0x2b2577,_0x60a6e6){_0x60a6e6=_0x60a6e6||0x1f4;return function(_0x292a24){logger[_0xce0f('0x25')](_0x292a24[_0xce0f('0x26')]);if(_0x292a24[_0xce0f('0x27')]){delete _0x292a24[_0xce0f('0x27')];}_0x2b2577[_0xce0f('0x1a')](_0x60a6e6)['send'](_0x292a24);};}exports[_0xce0f('0x28')]=function(_0x239aea,_0x146e14){var _0x5521f8={},_0x4a1ca0={},_0x1cbb5a={'count':0x0,'rows':[]};var _0x19bb25=db[_0xce0f('0x29')][_0xce0f('0x2a')];_0x4a1ca0[_0xce0f('0x2b')]=_['differenceBy'](_[_0xce0f('0x2c')](_0x19bb25),[_0xce0f('0x2d')]);_0x4a1ca0[_0xce0f('0x2e')]=_[_0xce0f('0x2c')](_0x239aea['query']);_0x4a1ca0['filters']=_[_0xce0f('0x2f')](_0x4a1ca0['model'],_0x4a1ca0[_0xce0f('0x2e')]);_0x5521f8[_0xce0f('0x30')]=_[_0xce0f('0x2f')](_0x4a1ca0['model'],qs[_0xce0f('0x31')](_0x239aea[_0xce0f('0x2e')][_0xce0f('0x31')]));_0x5521f8[_0xce0f('0x30')]=_0x5521f8[_0xce0f('0x30')][_0xce0f('0x32')]?_0x5521f8['attributes']:_0x4a1ca0[_0xce0f('0x2b')];if(!_0x239aea['query']['hasOwnProperty'](_0xce0f('0x33'))){_0x5521f8[_0xce0f('0x1e')]=qs[_0xce0f('0x1e')](_0x239aea['query'][_0xce0f('0x1e')]);_0x5521f8[_0xce0f('0x1d')]=qs[_0xce0f('0x1d')](_0x239aea[_0xce0f('0x2e')][_0xce0f('0x1d')]);}_0x5521f8[_0xce0f('0x34')]=qs[_0xce0f('0x35')](_0x239aea[_0xce0f('0x2e')][_0xce0f('0x35')]);_0x5521f8[_0xce0f('0x36')]=qs[_0xce0f('0x37')](_[_0xce0f('0x38')](_0x239aea[_0xce0f('0x2e')],_0x4a1ca0[_0xce0f('0x37')]));if(_0x239aea[_0xce0f('0x2e')][_0xce0f('0x39')]){_0x5521f8[_0xce0f('0x36')]=_[_0xce0f('0x3a')](_0x5521f8[_0xce0f('0x36')],{'$or':_[_0xce0f('0x3b')](_0x19bb25,function(_0x21e0be){if(_0x21e0be[_0xce0f('0x3c')][_0xce0f('0x3d')]!==_0xce0f('0x3e')){var _0x20d2ef={};_0x20d2ef[_0x21e0be['field']]={'$like':'%'+_0x239aea[_0xce0f('0x2e')][_0xce0f('0x39')]+'%'};return _0x20d2ef;}})});}_0x5521f8=_[_0xce0f('0x3a')]({},_0x5521f8,_0x239aea[_0xce0f('0x3f')]);var _0x45bf43={'where':_0x5521f8['where']};return db[_0xce0f('0x29')]['count'](_0x45bf43)[_0xce0f('0x22')](function(_0x5a7f97){_0x1cbb5a['count']=_0x5a7f97;if(_0x239aea[_0xce0f('0x2e')][_0xce0f('0x40')]){_0x5521f8[_0xce0f('0x41')]=[{'all':!![]}];}return db[_0xce0f('0x29')][_0xce0f('0x42')](_0x5521f8);})['then'](function(_0x1dc7b0){_0x1cbb5a[_0xce0f('0x43')]=_0x1dc7b0;return _0x1cbb5a;})['then'](respondWithFilteredResult(_0x146e14,_0x5521f8))['catch'](handleError(_0x146e14,null));};exports[_0xce0f('0x44')]=function(_0x596742,_0x26e707){var _0x4d181f={'raw':![],'where':{'id':_0x596742['params']['id']}},_0x493968={};_0x493968[_0xce0f('0x2b')]=_[_0xce0f('0x2c')](db[_0xce0f('0x29')]['rawAttributes']);_0x493968['query']=_[_0xce0f('0x2c')](_0x596742[_0xce0f('0x2e')]);_0x493968['filters']=_[_0xce0f('0x2f')](_0x493968[_0xce0f('0x2b')],_0x493968['query']);_0x4d181f[_0xce0f('0x30')]=_[_0xce0f('0x2f')](_0x493968[_0xce0f('0x2b')],qs[_0xce0f('0x31')](_0x596742[_0xce0f('0x2e')]['fields']));_0x4d181f[_0xce0f('0x30')]=_0x4d181f[_0xce0f('0x30')]['length']?_0x4d181f[_0xce0f('0x30')]:_0x493968[_0xce0f('0x2b')];if(_0x596742[_0xce0f('0x2e')][_0xce0f('0x40')]){_0x4d181f[_0xce0f('0x41')]=[{'all':!![]}];}_0x4d181f=_['merge']({},_0x4d181f,_0x596742['options']);return db['VoiceRecording'][_0xce0f('0x45')](_0x4d181f)['then'](handleEntityNotFound(_0x26e707,null))[_0xce0f('0x22')](respondWithResult(_0x26e707,null))[_0xce0f('0x46')](handleError(_0x26e707,null));};exports[_0xce0f('0x47')]=function(_0x168d04,_0x1cf4f9){return db[_0xce0f('0x29')][_0xce0f('0x47')](_0x168d04[_0xce0f('0x48')],{})['then'](respondWithResult(_0x1cf4f9,0xc9))[_0xce0f('0x46')](handleError(_0x1cf4f9,null));};exports[_0xce0f('0x21')]=function(_0x15c35,_0x553d02){if(_0x15c35[_0xce0f('0x48')]['id']){delete _0x15c35[_0xce0f('0x48')]['id'];}return db[_0xce0f('0x29')][_0xce0f('0x45')]({'where':{'id':_0x15c35['params']['id']}})[_0xce0f('0x22')](handleEntityNotFound(_0x553d02,null))[_0xce0f('0x22')](saveUpdates(_0x15c35[_0xce0f('0x48')],null))[_0xce0f('0x22')](respondWithResult(_0x553d02,null))[_0xce0f('0x46')](handleError(_0x553d02,null));};exports[_0xce0f('0x23')]=function(_0x2c87c7,_0x31abb8){return db['VoiceRecording']['find']({'where':{'id':_0x2c87c7[_0xce0f('0x49')]['id']}})['then'](handleEntityNotFound(_0x31abb8,null))[_0xce0f('0x22')](removeEntity(_0x31abb8,null))[_0xce0f('0x46')](handleError(_0x31abb8,null));};exports[_0xce0f('0x4a')]=function(_0x308677,_0x37f6ac){return db['VoiceRecording'][_0xce0f('0x4a')]()[_0xce0f('0x22')](respondWithResult(_0x37f6ac,null))['catch'](handleError(_0x37f6ac,null));};exports['download']=function(_0x410d60,_0x23b3ca,_0x38e73b){var _0x539a79=require('../../components/encryptor');var _0x4927b1=![];var _0x4d80a2={};if(_0x410d60[_0xce0f('0x2e')][_0xce0f('0x3c')]&&_0x410d60['query']['type']===_0xce0f('0x4b')){_0x4d80a2[_0xce0f('0x4b')]=_0x410d60[_0xce0f('0x49')]['id'];}else{_0x4d80a2['id']=_0x410d60['params']['id'];}return db[_0xce0f('0x29')]['find']({'where':_0x4d80a2,'attributes':['id',_0xce0f('0x4c')],'raw':!![]})[_0xce0f('0x22')](handleEntityNotFound(_0x23b3ca,null))[_0xce0f('0x22')](function(_0x1ef7c2){if(_0x1ef7c2){var _0x825fd7=util[_0xce0f('0x2d')](_0xce0f('0x4d'),_0x1ef7c2[_0xce0f('0x4c')]);if(fs[_0xce0f('0x4e')](_0x825fd7)){_0x4927b1=!![];return _0x539a79['decryptFile'](_0x825fd7,_0x1ef7c2['value'],config[_0xce0f('0x4f')][_0xce0f('0x50')])[_0xce0f('0x22')](function(){return _0x1ef7c2;});}return _0x1ef7c2;}})[_0xce0f('0x22')](function(_0x20c127){if(_0x20c127){if(!fs[_0xce0f('0x4e')](_0x20c127[_0xce0f('0x4c')])){throw new db[(_0xce0f('0x51'))][(_0xce0f('0x52'))](_0xce0f('0x53'));}if(_0x20c127[_0xce0f('0x54')]){return _0x23b3ca[_0xce0f('0x55')](_0x20c127['value'],_0x20c127[_0xce0f('0x54')]+path['extname'](_0x20c127[_0xce0f('0x4c')]),function(){if(_0x4927b1){fs[_0xce0f('0x56')](_0x20c127[_0xce0f('0x4c')]);}});}else{return _0x23b3ca[_0xce0f('0x55')](_0x20c127[_0xce0f('0x4c')],function(_0xf279f2){if(_0x4927b1){fs[_0xce0f('0x56')](_0x20c127['value']);}});}}})[_0xce0f('0x46')](handleError(_0x23b3ca,null));};exports[_0xce0f('0x57')]=function(_0x25355f,_0x4fbf84,_0x13476d){var _0x50ceb1=require(_0xce0f('0x58'));var _0x355082=![];var _0x1de772={'$and':[db[_0xce0f('0x59')]['where'](db[_0xce0f('0x59')]['fn'](_0xce0f('0x5a'),db[_0xce0f('0x59')][_0xce0f('0x5b')]('uniqueid')),_0x25355f[_0xce0f('0x2e')][_0xce0f('0x5c')])]};if(_0x25355f[_0xce0f('0x2e')]['type']&&_0x25355f[_0xce0f('0x2e')][_0xce0f('0x3c')]==='uniqueid'){_0x1de772[_0xce0f('0x5d')]['push']({'uniqueid':_0x25355f[_0xce0f('0x49')]['id']});}else{_0x1de772['$and'][_0xce0f('0x5e')]({'id':_0x25355f['params']['id']});}return db[_0xce0f('0x29')]['find']({'where':_0x1de772,'attributes':['id','value'],'raw':!![]})[_0xce0f('0x22')](handleEntityNotFound(_0x4fbf84,null))['then'](function(_0x426c6d){if(_0x426c6d){var _0x37a063=util[_0xce0f('0x2d')]('%s.cypher',_0x426c6d['value']);if(fs[_0xce0f('0x4e')](_0x37a063)){_0x355082=!![];return _0x50ceb1[_0xce0f('0x5f')](_0x37a063,_0x426c6d[_0xce0f('0x4c')],config[_0xce0f('0x4f')][_0xce0f('0x50')])[_0xce0f('0x22')](function(){return _0x426c6d;});}return _0x426c6d;}})[_0xce0f('0x22')](function(_0x51a45c){if(_0x51a45c){if(!fs[_0xce0f('0x4e')](_0x51a45c['value'])){throw new db[(_0xce0f('0x51'))]['ValidationError'](_0xce0f('0x53'));}if(_0x51a45c[_0xce0f('0x54')]){return _0x4fbf84[_0xce0f('0x55')](_0x51a45c[_0xce0f('0x4c')],_0x51a45c[_0xce0f('0x54')]+path[_0xce0f('0x60')](_0x51a45c[_0xce0f('0x4c')]),function(){if(_0x355082){fs[_0xce0f('0x56')](_0x51a45c['value']);}});}else{return _0x4fbf84[_0xce0f('0x55')](_0x51a45c['value'],function(_0x2362ec){if(_0x355082){fs[_0xce0f('0x56')](_0x51a45c['value']);}});}}})[_0xce0f('0x46')](handleError(_0x4fbf84,null));};