Built motion from commit (unavailable).|2.3.1
[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 _0xda01=['decryptFile','secrets','recording','existsSync','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','downloads','sequelize','col','uniqueid','token','push','$and','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','then','error','name','send','index','VoiceRecording','rawAttributes','model','differenceBy','keys','format','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','key','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','describe','download','../../components/encryptor','value','%s.cypher'];(function(_0x2af4e5,_0x422895){var _0x1fdbec=function(_0x4cdade){while(--_0x4cdade){_0x2af4e5['push'](_0x2af4e5['shift']());}};_0x1fdbec(++_0x422895);}(_0xda01,0x12e));var _0x1da0=function(_0x2e9afb,_0x405cfb){_0x2e9afb=_0x2e9afb-0x0;var _0x49a943=_0xda01[_0x2e9afb];return _0x49a943;};'use strict';var pdf=require(_0x1da0('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x1da0('0x1'));var zipdir=require(_0x1da0('0x2'));var jsonpatch=require(_0x1da0('0x3'));var rp=require('request-promise');var moment=require(_0x1da0('0x4'));var BPromise=require(_0x1da0('0x5'));var Mustache=require(_0x1da0('0x6'));var util=require(_0x1da0('0x7'));var path=require(_0x1da0('0x8'));var sox=require('sox');var csv=require(_0x1da0('0x9'));var ejs=require(_0x1da0('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x1da0('0xb'));var jsforce=require(_0x1da0('0xc'));var deskjs=require(_0x1da0('0xd'));var toCsv=require(_0x1da0('0x9'));var querystring=require('querystring');var Papa=require(_0x1da0('0xe'));var authService=require(_0x1da0('0xf'));var hardwareService=require(_0x1da0('0x10'));var Redis=require(_0x1da0('0x11'));var qs=require('../../components/parsers/qs');var logger=require(_0x1da0('0x12'))(_0x1da0('0x13'));var utils=require(_0x1da0('0x14'));var config=require('../../config/environment');var db=require(_0x1da0('0x15'))['db'];function respondWithStatusCode(_0x14ca4c,_0xe406a0){_0xe406a0=_0xe406a0||0xcc;return function(_0x3b7f40){if(_0x3b7f40){return _0x14ca4c[_0x1da0('0x16')](_0xe406a0);}return _0x14ca4c[_0x1da0('0x17')](_0xe406a0)[_0x1da0('0x18')]();};}function respondWithResult(_0x3369ce,_0x31fc41){_0x31fc41=_0x31fc41||0xc8;return function(_0x1189e6){if(_0x1189e6){return _0x3369ce[_0x1da0('0x17')](_0x31fc41)[_0x1da0('0x19')](_0x1189e6);}};}function respondWithFilteredResult(_0x420f14,_0x4af859){return function(_0x2f1ea5){if(_0x2f1ea5){var _0x29a3e4=_0x2f1ea5[_0x1da0('0x1a')],_0x4c501b=_0x4af859[_0x1da0('0x1b')],_0x4133fc=_0x4af859[_0x1da0('0x1b')]+_0x4af859[_0x1da0('0x1c')],_0x1b7600;if(_0x4133fc>=_0x29a3e4){_0x4133fc=_0x29a3e4;_0x1b7600=0xc8;}else{_0x1b7600=0xce;}_0x420f14['status'](_0x1b7600);return _0x420f14[_0x1da0('0x1d')](_0x1da0('0x1e'),_0x4c501b+'-'+_0x4133fc+'/'+_0x29a3e4)['json'](_0x2f1ea5);}return null;};}function patchUpdates(_0xba7f0a){return function(_0x25fbe8){try{jsonpatch[_0x1da0('0x1f')](_0x25fbe8,_0xba7f0a,!![]);}catch(_0xa0270){return BPromise[_0x1da0('0x20')](_0xa0270);}return _0x25fbe8['save']();};}function saveUpdates(_0x77aef8,_0x57d2ed){return function(_0x7018f7){if(_0x7018f7){return _0x7018f7[_0x1da0('0x21')](_0x77aef8)[_0x1da0('0x22')](function(_0x3cafd0){return _0x3cafd0;});}return null;};}function removeEntity(_0x5c03e1,_0x3534cf){return function(_0x40ee41){if(_0x40ee41){return _0x40ee41['destroy']()[_0x1da0('0x22')](function(){_0x5c03e1[_0x1da0('0x17')](0xcc)[_0x1da0('0x18')]();});}};}function handleEntityNotFound(_0x43ba58,_0x103f74){return function(_0xd0f0ab){if(!_0xd0f0ab){_0x43ba58[_0x1da0('0x16')](0x194);}return _0xd0f0ab;};}function handleError(_0x485830,_0x17759a){_0x17759a=_0x17759a||0x1f4;return function(_0x57d79d){logger[_0x1da0('0x23')](_0x57d79d['stack']);if(_0x57d79d[_0x1da0('0x24')]){delete _0x57d79d[_0x1da0('0x24')];}_0x485830['status'](_0x17759a)[_0x1da0('0x25')](_0x57d79d);};}exports[_0x1da0('0x26')]=function(_0x2ea60c,_0x2e13bf){var _0x2e561f={},_0x2271f6={},_0x914436={'count':0x0,'rows':[]};var _0x397a0b=db[_0x1da0('0x27')][_0x1da0('0x28')];_0x2271f6[_0x1da0('0x29')]=_[_0x1da0('0x2a')](_[_0x1da0('0x2b')](_0x397a0b),[_0x1da0('0x2c')]);_0x2271f6[_0x1da0('0x2d')]=_[_0x1da0('0x2b')](_0x2ea60c[_0x1da0('0x2d')]);_0x2271f6[_0x1da0('0x2e')]=_[_0x1da0('0x2f')](_0x2271f6[_0x1da0('0x29')],_0x2271f6[_0x1da0('0x2d')]);_0x2e561f[_0x1da0('0x30')]=_[_0x1da0('0x2f')](_0x2271f6[_0x1da0('0x29')],qs[_0x1da0('0x31')](_0x2ea60c['query'][_0x1da0('0x31')]));_0x2e561f['attributes']=_0x2e561f[_0x1da0('0x30')][_0x1da0('0x32')]?_0x2e561f[_0x1da0('0x30')]:_0x2271f6['model'];if(!_0x2ea60c[_0x1da0('0x2d')][_0x1da0('0x33')](_0x1da0('0x34'))){_0x2e561f[_0x1da0('0x1c')]=qs['limit'](_0x2ea60c[_0x1da0('0x2d')][_0x1da0('0x1c')]);_0x2e561f[_0x1da0('0x1b')]=qs['offset'](_0x2ea60c['query'][_0x1da0('0x1b')]);}_0x2e561f[_0x1da0('0x35')]=qs['sort'](_0x2ea60c['query'][_0x1da0('0x36')]);_0x2e561f[_0x1da0('0x37')]=qs[_0x1da0('0x2e')](_[_0x1da0('0x38')](_0x2ea60c[_0x1da0('0x2d')],_0x2271f6[_0x1da0('0x2e')]));if(_0x2ea60c[_0x1da0('0x2d')][_0x1da0('0x39')]){_0x2e561f[_0x1da0('0x37')]=_[_0x1da0('0x3a')](_0x2e561f['where'],{'$or':_[_0x1da0('0x3b')](_0x397a0b,function(_0x41571a){if(_0x41571a['type'][_0x1da0('0x3c')]!==_0x1da0('0x3d')){var _0x43bc04={};_0x43bc04[_0x41571a['field']]={'$like':'%'+_0x2ea60c[_0x1da0('0x2d')][_0x1da0('0x39')]+'%'};return _0x43bc04;}})});}_0x2e561f=_[_0x1da0('0x3a')]({},_0x2e561f,_0x2ea60c[_0x1da0('0x3e')]);var _0x47ebe4={'where':_0x2e561f[_0x1da0('0x37')]};return db[_0x1da0('0x27')][_0x1da0('0x1a')](_0x47ebe4)[_0x1da0('0x22')](function(_0xe9bdd0){_0x914436[_0x1da0('0x1a')]=_0xe9bdd0;if(_0x2ea60c['query'][_0x1da0('0x3f')]){_0x2e561f[_0x1da0('0x40')]=[{'all':!![]}];}return db[_0x1da0('0x27')][_0x1da0('0x41')](_0x2e561f);})[_0x1da0('0x22')](function(_0x2502ca){_0x914436[_0x1da0('0x42')]=_0x2502ca;return _0x914436;})[_0x1da0('0x22')](respondWithFilteredResult(_0x2e13bf,_0x2e561f))[_0x1da0('0x43')](handleError(_0x2e13bf,null));};exports[_0x1da0('0x44')]=function(_0x53938c,_0xd7b9b1){var _0x401a84={'raw':![],'where':{'id':_0x53938c[_0x1da0('0x45')]['id']}},_0x2153f5={};_0x2153f5[_0x1da0('0x29')]=_['keys'](db[_0x1da0('0x27')][_0x1da0('0x28')]);_0x2153f5[_0x1da0('0x2d')]=_[_0x1da0('0x2b')](_0x53938c[_0x1da0('0x2d')]);_0x2153f5[_0x1da0('0x2e')]=_[_0x1da0('0x2f')](_0x2153f5[_0x1da0('0x29')],_0x2153f5[_0x1da0('0x2d')]);_0x401a84[_0x1da0('0x30')]=_[_0x1da0('0x2f')](_0x2153f5[_0x1da0('0x29')],qs[_0x1da0('0x31')](_0x53938c['query'][_0x1da0('0x31')]));_0x401a84[_0x1da0('0x30')]=_0x401a84[_0x1da0('0x30')]['length']?_0x401a84[_0x1da0('0x30')]:_0x2153f5['model'];if(_0x53938c[_0x1da0('0x2d')][_0x1da0('0x3f')]){_0x401a84[_0x1da0('0x40')]=[{'all':!![]}];}_0x401a84=_[_0x1da0('0x3a')]({},_0x401a84,_0x53938c[_0x1da0('0x3e')]);return db[_0x1da0('0x27')]['find'](_0x401a84)[_0x1da0('0x22')](handleEntityNotFound(_0xd7b9b1,null))[_0x1da0('0x22')](respondWithResult(_0xd7b9b1,null))[_0x1da0('0x43')](handleError(_0xd7b9b1,null));};exports[_0x1da0('0x46')]=function(_0x2cf78a,_0x35b4d1){return db['VoiceRecording'][_0x1da0('0x46')](_0x2cf78a[_0x1da0('0x47')],{})[_0x1da0('0x22')](respondWithResult(_0x35b4d1,0xc9))[_0x1da0('0x43')](handleError(_0x35b4d1,null));};exports[_0x1da0('0x21')]=function(_0x1bf1a4,_0x2ea9bb){if(_0x1bf1a4['body']['id']){delete _0x1bf1a4[_0x1da0('0x47')]['id'];}return db[_0x1da0('0x27')]['find']({'where':{'id':_0x1bf1a4[_0x1da0('0x45')]['id']}})['then'](handleEntityNotFound(_0x2ea9bb,null))[_0x1da0('0x22')](saveUpdates(_0x1bf1a4['body'],null))[_0x1da0('0x22')](respondWithResult(_0x2ea9bb,null))[_0x1da0('0x43')](handleError(_0x2ea9bb,null));};exports['destroy']=function(_0x273a6a,_0x10d1ed){return db[_0x1da0('0x27')][_0x1da0('0x48')]({'where':{'id':_0x273a6a['params']['id']}})[_0x1da0('0x22')](handleEntityNotFound(_0x10d1ed,null))[_0x1da0('0x22')](removeEntity(_0x10d1ed,null))[_0x1da0('0x43')](handleError(_0x10d1ed,null));};exports[_0x1da0('0x49')]=function(_0x3e92d1,_0x12167d){return db['VoiceRecording'][_0x1da0('0x49')]()['then'](respondWithResult(_0x12167d,null))[_0x1da0('0x43')](handleError(_0x12167d,null));};exports[_0x1da0('0x4a')]=function(_0x37a91b,_0x48f60f,_0x51564b){var _0xd6ab5c=require(_0x1da0('0x4b'));var _0x507810=![];var _0xc0da3e={};if(_0x37a91b[_0x1da0('0x2d')]['type']&&_0x37a91b[_0x1da0('0x2d')]['type']==='uniqueid'){_0xc0da3e['uniqueid']=_0x37a91b[_0x1da0('0x45')]['id'];}else{_0xc0da3e['id']=_0x37a91b['params']['id'];}return db['VoiceRecording'][_0x1da0('0x48')]({'where':_0xc0da3e,'attributes':['id',_0x1da0('0x4c')],'raw':!![]})[_0x1da0('0x22')](handleEntityNotFound(_0x48f60f,null))[_0x1da0('0x22')](function(_0x3dd53c){if(_0x3dd53c){var _0x2c810b=util['format'](_0x1da0('0x4d'),_0x3dd53c[_0x1da0('0x4c')]);if(fs['existsSync'](_0x2c810b)){_0x507810=!![];return _0xd6ab5c[_0x1da0('0x4e')](_0x2c810b,_0x3dd53c[_0x1da0('0x4c')],config[_0x1da0('0x4f')][_0x1da0('0x50')])[_0x1da0('0x22')](function(){return _0x3dd53c;});}return _0x3dd53c;}})[_0x1da0('0x22')](function(_0xb30555){if(_0xb30555){if(!fs[_0x1da0('0x51')](_0xb30555[_0x1da0('0x4c')])){throw new db[(_0x1da0('0x52'))][(_0x1da0('0x53'))](_0x1da0('0x54'));}if(_0xb30555[_0x1da0('0x55')]){return _0x48f60f[_0x1da0('0x4a')](_0xb30555['value'],_0xb30555[_0x1da0('0x55')]+path[_0x1da0('0x56')](_0xb30555[_0x1da0('0x4c')]),function(){if(_0x507810){fs[_0x1da0('0x57')](_0xb30555[_0x1da0('0x4c')]);}});}else{return _0x48f60f['download'](_0xb30555[_0x1da0('0x4c')],function(_0x5317e2){if(_0x507810){fs[_0x1da0('0x57')](_0xb30555[_0x1da0('0x4c')]);}});}}})[_0x1da0('0x43')](handleError(_0x48f60f,null));};exports[_0x1da0('0x58')]=function(_0x175d00,_0x54d812,_0x2da0de){var _0x2d13de=require(_0x1da0('0x4b'));var _0x5698c7=![];var _0x564332={'$and':[db[_0x1da0('0x59')]['where'](db[_0x1da0('0x59')]['fn']('MD5',db[_0x1da0('0x59')][_0x1da0('0x5a')](_0x1da0('0x5b'))),_0x175d00[_0x1da0('0x2d')][_0x1da0('0x5c')])]};if(_0x175d00[_0x1da0('0x2d')]['type']&&_0x175d00['query']['type']===_0x1da0('0x5b')){_0x564332['$and'][_0x1da0('0x5d')]({'uniqueid':_0x175d00[_0x1da0('0x45')]['id']});}else{_0x564332[_0x1da0('0x5e')]['push']({'id':_0x175d00[_0x1da0('0x45')]['id']});}return db[_0x1da0('0x27')][_0x1da0('0x48')]({'where':_0x564332,'attributes':['id',_0x1da0('0x4c')],'raw':!![]})[_0x1da0('0x22')](handleEntityNotFound(_0x54d812,null))[_0x1da0('0x22')](function(_0x3f28c8){if(_0x3f28c8){var _0xb8c016=util[_0x1da0('0x2c')](_0x1da0('0x4d'),_0x3f28c8['value']);if(fs[_0x1da0('0x51')](_0xb8c016)){_0x5698c7=!![];return _0x2d13de[_0x1da0('0x4e')](_0xb8c016,_0x3f28c8[_0x1da0('0x4c')],config['secrets'][_0x1da0('0x50')])[_0x1da0('0x22')](function(){return _0x3f28c8;});}return _0x3f28c8;}})[_0x1da0('0x22')](function(_0x107ccf){if(_0x107ccf){if(!fs[_0x1da0('0x51')](_0x107ccf[_0x1da0('0x4c')])){throw new db[(_0x1da0('0x52'))][(_0x1da0('0x53'))]('VoiceRecording\x20not\x20found');}if(_0x107ccf[_0x1da0('0x55')]){return _0x54d812[_0x1da0('0x4a')](_0x107ccf['value'],_0x107ccf[_0x1da0('0x55')]+path['extname'](_0x107ccf[_0x1da0('0x4c')]),function(){if(_0x5698c7){fs[_0x1da0('0x57')](_0x107ccf[_0x1da0('0x4c')]);}});}else{return _0x54d812[_0x1da0('0x4a')](_0x107ccf[_0x1da0('0x4c')],function(_0x4efae1){if(_0x5698c7){fs[_0x1da0('0x57')](_0x107ccf['value']);}});}}})['catch'](handleError(_0x54d812,null));};