Built motion from commit (unavailable).|2.4.4
[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 _0x95d7=['status','limit','set','json','apply','reject','save','update','then','destroy','end','error','stack','name','send','rawAttributes','differenceBy','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','filters','pick','filter','merge','where','type','key','VIRTUAL','options','count','includeAll','include','VoiceRecording','findAll','rows','catch','show','params','keys','find','create','body','describe','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','VoiceRecording\x20not\x20found','download','filename','unlink','message','Not\x20found','sequelize','col','token','$and','push','format','extname','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','lodash','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','sendStatus'];(function(_0x38aeea,_0x57522a){var _0x5e8d2c=function(_0xff08ce){while(--_0xff08ce){_0x38aeea['push'](_0x38aeea['shift']());}};_0x5e8d2c(++_0x57522a);}(_0x95d7,0x1bd));var _0x795d=function(_0x443bf6,_0x229472){_0x443bf6=_0x443bf6-0x0;var _0x279814=_0x95d7[_0x443bf6];return _0x279814;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x795d('0x0'));var rimraf=require(_0x795d('0x1'));var zipdir=require(_0x795d('0x2'));var jsonpatch=require(_0x795d('0x3'));var rp=require(_0x795d('0x4'));var moment=require('moment');var BPromise=require(_0x795d('0x5'));var Mustache=require('mustache');var util=require(_0x795d('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x795d('0x7'));var squel=require('squel');var crypto=require(_0x795d('0x8'));var jsforce=require(_0x795d('0x9'));var deskjs=require(_0x795d('0xa'));var toCsv=require(_0x795d('0xb'));var querystring=require('querystring');var Papa=require(_0x795d('0xc'));var Redis=require(_0x795d('0xd'));var authService=require(_0x795d('0xe'));var qs=require(_0x795d('0xf'));var hardwareService=require(_0x795d('0x10'));var logger=require('../../config/logger')(_0x795d('0x11'));var utils=require(_0x795d('0x12'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1e3c53,_0x4fa885){_0x4fa885=_0x4fa885||0xcc;return function(_0x1d4a54){if(_0x1d4a54){return _0x1e3c53[_0x795d('0x13')](_0x4fa885);}return _0x1e3c53[_0x795d('0x14')](_0x4fa885)['end']();};}function respondWithResult(_0x187122,_0x5e4d8d){_0x5e4d8d=_0x5e4d8d||0xc8;return function(_0xb08ef0){if(_0xb08ef0){return _0x187122[_0x795d('0x14')](_0x5e4d8d)['json'](_0xb08ef0);}};}function respondWithFilteredResult(_0x356064,_0x2f4f5b){return function(_0x4152f0){if(_0x4152f0){var _0x53e9ba=_0x4152f0['count'],_0x5248b9=_0x2f4f5b['offset'],_0x5b1899=_0x2f4f5b['offset']+_0x2f4f5b[_0x795d('0x15')],_0xae9668;if(_0x5b1899>=_0x53e9ba){_0x5b1899=_0x53e9ba;_0xae9668=0xc8;}else{_0xae9668=0xce;}_0x356064[_0x795d('0x14')](_0xae9668);return _0x356064[_0x795d('0x16')]('Content-Range',_0x5248b9+'-'+_0x5b1899+'/'+_0x53e9ba)[_0x795d('0x17')](_0x4152f0);}return null;};}function patchUpdates(_0x2cd2c2){return function(_0x37befb){try{jsonpatch[_0x795d('0x18')](_0x37befb,_0x2cd2c2,!![]);}catch(_0x20895b){return BPromise[_0x795d('0x19')](_0x20895b);}return _0x37befb[_0x795d('0x1a')]();};}function saveUpdates(_0x4cb376,_0x1487f1){return function(_0x260b22){if(_0x260b22){return _0x260b22[_0x795d('0x1b')](_0x4cb376)[_0x795d('0x1c')](function(_0x5ebf5f){return _0x5ebf5f;});}return null;};}function removeEntity(_0x277160,_0x5654ec){return function(_0x18ba7e){if(_0x18ba7e){return _0x18ba7e[_0x795d('0x1d')]()[_0x795d('0x1c')](function(){_0x277160[_0x795d('0x14')](0xcc)[_0x795d('0x1e')]();});}};}function handleEntityNotFound(_0x3341b5,_0x37b4fc){return function(_0x51659a){if(!_0x51659a){_0x3341b5['sendStatus'](0x194);}return _0x51659a;};}function handleError(_0xe8a3c1,_0x4535b0){_0x4535b0=_0x4535b0||0x1f4;return function(_0x3ca439){logger[_0x795d('0x1f')](_0x3ca439[_0x795d('0x20')]);if(_0x3ca439[_0x795d('0x21')]){delete _0x3ca439[_0x795d('0x21')];}_0xe8a3c1['status'](_0x4535b0)[_0x795d('0x22')](_0x3ca439);};}exports['index']=function(_0x5b2217,_0x4e2891){var _0x1c4240={},_0x3f74b9={},_0x2ec541={'count':0x0,'rows':[]};var _0x1fa371=db['VoiceRecording'][_0x795d('0x23')];_0x3f74b9['model']=_[_0x795d('0x24')](_['keys'](_0x1fa371),['format']);_0x3f74b9[_0x795d('0x25')]=_['keys'](_0x5b2217[_0x795d('0x25')]);_0x3f74b9['filters']=_[_0x795d('0x26')](_0x3f74b9[_0x795d('0x27')],_0x3f74b9['query']);_0x1c4240[_0x795d('0x28')]=_[_0x795d('0x26')](_0x3f74b9['model'],qs[_0x795d('0x29')](_0x5b2217[_0x795d('0x25')][_0x795d('0x29')]));_0x1c4240[_0x795d('0x28')]=_0x1c4240['attributes'][_0x795d('0x2a')]?_0x1c4240['attributes']:_0x3f74b9[_0x795d('0x27')];if(!_0x5b2217[_0x795d('0x25')][_0x795d('0x2b')](_0x795d('0x2c'))){_0x1c4240[_0x795d('0x15')]=qs[_0x795d('0x15')](_0x5b2217[_0x795d('0x25')][_0x795d('0x15')]);_0x1c4240[_0x795d('0x2d')]=qs[_0x795d('0x2d')](_0x5b2217[_0x795d('0x25')][_0x795d('0x2d')]);}_0x1c4240[_0x795d('0x2e')]=qs[_0x795d('0x2f')](_0x5b2217[_0x795d('0x25')]['sort']);_0x1c4240['where']=qs[_0x795d('0x30')](_[_0x795d('0x31')](_0x5b2217[_0x795d('0x25')],_0x3f74b9[_0x795d('0x30')]));if(_0x5b2217[_0x795d('0x25')][_0x795d('0x32')]){_0x1c4240['where']=_[_0x795d('0x33')](_0x1c4240[_0x795d('0x34')],{'$or':_['map'](_0x1fa371,function(_0x5946ec){if(_0x5946ec[_0x795d('0x35')][_0x795d('0x36')]!==_0x795d('0x37')){var _0x4d3f7c={};_0x4d3f7c[_0x5946ec['field']]={'$like':'%'+_0x5b2217['query'][_0x795d('0x32')]+'%'};return _0x4d3f7c;}})});}_0x1c4240=_[_0x795d('0x33')]({},_0x1c4240,_0x5b2217[_0x795d('0x38')]);var _0x14c1b0={'where':_0x1c4240[_0x795d('0x34')]};return db['VoiceRecording'][_0x795d('0x39')](_0x14c1b0)[_0x795d('0x1c')](function(_0xca69a0){_0x2ec541[_0x795d('0x39')]=_0xca69a0;if(_0x5b2217[_0x795d('0x25')][_0x795d('0x3a')]){_0x1c4240[_0x795d('0x3b')]=[{'all':!![]}];}return db[_0x795d('0x3c')][_0x795d('0x3d')](_0x1c4240);})['then'](function(_0x324ae6){_0x2ec541[_0x795d('0x3e')]=_0x324ae6;return _0x2ec541;})['then'](respondWithFilteredResult(_0x4e2891,_0x1c4240))[_0x795d('0x3f')](handleError(_0x4e2891,null));};exports[_0x795d('0x40')]=function(_0x314d0f,_0x4621c9){var _0x6a2c0e={'raw':![],'where':{'id':_0x314d0f[_0x795d('0x41')]['id']}},_0x3bfb8c={};_0x3bfb8c['model']=_[_0x795d('0x42')](db[_0x795d('0x3c')][_0x795d('0x23')]);_0x3bfb8c[_0x795d('0x25')]=_[_0x795d('0x42')](_0x314d0f[_0x795d('0x25')]);_0x3bfb8c[_0x795d('0x30')]=_[_0x795d('0x26')](_0x3bfb8c['model'],_0x3bfb8c[_0x795d('0x25')]);_0x6a2c0e[_0x795d('0x28')]=_[_0x795d('0x26')](_0x3bfb8c[_0x795d('0x27')],qs['fields'](_0x314d0f[_0x795d('0x25')]['fields']));_0x6a2c0e['attributes']=_0x6a2c0e[_0x795d('0x28')][_0x795d('0x2a')]?_0x6a2c0e[_0x795d('0x28')]:_0x3bfb8c['model'];if(_0x314d0f[_0x795d('0x25')]['includeAll']){_0x6a2c0e['include']=[{'all':!![]}];}_0x6a2c0e=_[_0x795d('0x33')]({},_0x6a2c0e,_0x314d0f['options']);return db[_0x795d('0x3c')][_0x795d('0x43')](_0x6a2c0e)['then'](handleEntityNotFound(_0x4621c9,null))[_0x795d('0x1c')](respondWithResult(_0x4621c9,null))[_0x795d('0x3f')](handleError(_0x4621c9,null));};exports[_0x795d('0x44')]=function(_0x43f0b2,_0x5f2499){return db[_0x795d('0x3c')][_0x795d('0x44')](_0x43f0b2[_0x795d('0x45')],{})[_0x795d('0x1c')](respondWithResult(_0x5f2499,0xc9))[_0x795d('0x3f')](handleError(_0x5f2499,null));};exports['update']=function(_0x52079f,_0x560392){if(_0x52079f[_0x795d('0x45')]['id']){delete _0x52079f[_0x795d('0x45')]['id'];}return db['VoiceRecording'][_0x795d('0x43')]({'where':{'id':_0x52079f['params']['id']}})[_0x795d('0x1c')](handleEntityNotFound(_0x560392,null))[_0x795d('0x1c')](saveUpdates(_0x52079f[_0x795d('0x45')],null))[_0x795d('0x1c')](respondWithResult(_0x560392,null))[_0x795d('0x3f')](handleError(_0x560392,null));};exports[_0x795d('0x1d')]=function(_0x3d90f4,_0x2cb68e){return db[_0x795d('0x3c')]['find']({'where':{'id':_0x3d90f4['params']['id']}})[_0x795d('0x1c')](handleEntityNotFound(_0x2cb68e,null))['then'](removeEntity(_0x2cb68e,null))[_0x795d('0x3f')](handleError(_0x2cb68e,null));};exports[_0x795d('0x46')]=function(_0x3e9d7d,_0x43b5c6){return db['VoiceRecording'][_0x795d('0x46')]()[_0x795d('0x1c')](respondWithResult(_0x43b5c6,null))[_0x795d('0x3f')](handleError(_0x43b5c6,null));};exports['download']=function(_0x1e41c5,_0xcc44f3,_0x2e2802){var _0x3a9153=require(_0x795d('0x47'));var _0x2b23e7=![];var _0x4f6fbf={};if(_0x1e41c5[_0x795d('0x25')]['type']&&_0x1e41c5[_0x795d('0x25')][_0x795d('0x35')]===_0x795d('0x48')){_0x4f6fbf[_0x795d('0x48')]=_0x1e41c5[_0x795d('0x41')]['id'];}else{_0x4f6fbf['id']=_0x1e41c5['params']['id'];}return db['VoiceRecording'][_0x795d('0x43')]({'where':_0x4f6fbf,'attributes':['id',_0x795d('0x49')],'raw':!![]})[_0x795d('0x1c')](handleEntityNotFound(_0xcc44f3,null))['then'](function(_0x16a8e7){if(_0x16a8e7){var _0x5aaa2d=_0x16a8e7['value'];var _0x32267d=util['format'](_0x795d('0x4a'),_0x5aaa2d);if(fs[_0x795d('0x4b')](_0x32267d)){_0x2b23e7=!![];return _0x3a9153[_0x795d('0x4c')](_0x32267d,_0x5aaa2d,config[_0x795d('0x4d')][_0x795d('0x4e')])['then'](function(){return _0x16a8e7;});}return _0x16a8e7;}})['then'](function(_0x1a2a9b){if(_0x1a2a9b){var _0x4787f3=_0x1a2a9b[_0x795d('0x49')];if(!fs['existsSync'](_0x4787f3)){throw new db[(_0x795d('0x4f'))]['ValidationError'](_0x795d('0x50'));}if(_0x1a2a9b['filename']){return _0xcc44f3[_0x795d('0x51')](_0x4787f3,_0x1a2a9b[_0x795d('0x52')]+path['extname'](_0x4787f3),function(){if(_0x2b23e7){fs[_0x795d('0x53')](_0x4787f3);}});}else{return _0xcc44f3[_0x795d('0x51')](_0x4787f3,function(_0x554b02){if(_0x2b23e7){fs[_0x795d('0x53')](_0x4787f3);}});}}})[_0x795d('0x3f')](function(_0x529cf3){if(_0x529cf3[_0x795d('0x54')]===_0x795d('0x50')){_0xcc44f3[_0x795d('0x14')](0x194)[_0x795d('0x22')](_0x795d('0x55'));}else{return handleError(_0xcc44f3,null);}});};exports['downloads']=function(_0x5091da,_0x2412bc,_0xa2f4be){var _0x3f1eb6=require(_0x795d('0x47'));var _0x451b82=![];var _0x4d2eac={'$and':[db[_0x795d('0x56')][_0x795d('0x34')](db['sequelize']['fn']('MD5',db['sequelize'][_0x795d('0x57')](_0x795d('0x48'))),_0x5091da[_0x795d('0x25')][_0x795d('0x58')])]};if(_0x5091da[_0x795d('0x25')][_0x795d('0x35')]&&_0x5091da['query'][_0x795d('0x35')]===_0x795d('0x48')){_0x4d2eac[_0x795d('0x59')][_0x795d('0x5a')]({'uniqueid':_0x5091da[_0x795d('0x41')]['id']});}else{_0x4d2eac['$and'][_0x795d('0x5a')]({'id':_0x5091da['params']['id']});}return db[_0x795d('0x3c')][_0x795d('0x43')]({'where':_0x4d2eac,'attributes':['id',_0x795d('0x49')],'raw':!![]})[_0x795d('0x1c')](handleEntityNotFound(_0x2412bc,null))['then'](function(_0x3ca986){if(_0x3ca986){var _0x4ae858=util[_0x795d('0x5b')](_0x795d('0x4a'),_0x3ca986[_0x795d('0x49')]);if(fs['existsSync'](_0x4ae858)){_0x451b82=!![];return _0x3f1eb6[_0x795d('0x4c')](_0x4ae858,_0x3ca986[_0x795d('0x49')],config[_0x795d('0x4d')][_0x795d('0x4e')])[_0x795d('0x1c')](function(){return _0x3ca986;});}return _0x3ca986;}})[_0x795d('0x1c')](function(_0x471b53){if(_0x471b53){if(!fs[_0x795d('0x4b')](_0x471b53[_0x795d('0x49')])){throw new db[(_0x795d('0x4f'))]['ValidationError'](_0x795d('0x50'));}if(_0x471b53['filename']){return _0x2412bc[_0x795d('0x51')](_0x471b53[_0x795d('0x49')],_0x471b53[_0x795d('0x52')]+path[_0x795d('0x5c')](_0x471b53[_0x795d('0x49')]),function(){if(_0x451b82){fs['unlink'](_0x471b53[_0x795d('0x49')]);}});}else{return _0x2412bc[_0x795d('0x51')](_0x471b53[_0x795d('0x49')],function(_0xb11af6){if(_0x451b82){fs[_0x795d('0x53')](_0x471b53['value']);}});}}})[_0x795d('0x3f')](handleError(_0x2412bc,null));};