Built motion from commit 47436d59.|2.6.7
[motion2.git] / server / api / squareRecording / squareRecording.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 _0x4229=['File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','fast-json-patch','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','offset','count','set','Content-Range','json','apply','update','destroy','error','stack','index','map','SquareRecording','fieldName','type','key','model','name','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','VIRTUAL','options','then','include','findAll','rows','catch','show','rawAttributes','includeAll','merge','find','create','body','params','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','message','send','Not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s'];(function(_0x206f54,_0x4e3509){var _0xe2a50e=function(_0x49bd9a){while(--_0x49bd9a){_0x206f54['push'](_0x206f54['shift']());}};_0xe2a50e(++_0x4e3509);}(_0x4229,0x1f3));var _0x9422=function(_0x351bae,_0xbd1b8a){_0x351bae=_0x351bae-0x0;var _0x1d7b3d=_0x4229[_0x351bae];return _0x1d7b3d;};'use strict';var emlformat=require(_0x9422('0x0'));var rimraf=require(_0x9422('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9422('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x9422('0x3'));var Mustache=require(_0x9422('0x4'));var util=require('util');var path=require(_0x9422('0x5'));var sox=require(_0x9422('0x6'));var csv=require(_0x9422('0x7'));var ejs=require(_0x9422('0x8'));var fs=require('fs');var fs_extra=require(_0x9422('0x9'));var _=require(_0x9422('0xa'));var squel=require(_0x9422('0xb'));var crypto=require(_0x9422('0xc'));var jsforce=require(_0x9422('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9422('0xe'));var Papa=require(_0x9422('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x9422('0x10'));var as=require(_0x9422('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9422('0x12'))('api');var utils=require(_0x9422('0x13'));var config=require(_0x9422('0x14'));var licenseUtil=require(_0x9422('0x15'));var db=require(_0x9422('0x16'))['db'];function respondWithStatusCode(_0x3f22b8,_0x4f91d7){_0x4f91d7=_0x4f91d7||0xcc;return function(_0x562c7b){if(_0x562c7b){return _0x3f22b8[_0x9422('0x17')](_0x4f91d7);}return _0x3f22b8[_0x9422('0x18')](_0x4f91d7)[_0x9422('0x19')]();};}function respondWithResult(_0x430206,_0x1871c5){_0x1871c5=_0x1871c5||0xc8;return function(_0xe34e0c){if(_0xe34e0c){return _0x430206['status'](_0x1871c5)['json'](_0xe34e0c);}};}function respondWithFilteredResult(_0x3585a5,_0x4b06bc){return function(_0x330a82){if(_0x330a82){var _0x87fd6b=typeof _0x4b06bc['offset']===_0x9422('0x1a')&&typeof _0x4b06bc[_0x9422('0x1b')]==='undefined';var _0x5380f1=_0x330a82['count'];var _0x41a744=_0x87fd6b?0x0:_0x4b06bc[_0x9422('0x1c')];var _0x1631ef=_0x87fd6b?_0x330a82[_0x9422('0x1d')]:_0x4b06bc[_0x9422('0x1c')]+_0x4b06bc[_0x9422('0x1b')];var _0x125601;if(_0x1631ef>=_0x5380f1){_0x1631ef=_0x5380f1;_0x125601=0xc8;}else{_0x125601=0xce;}_0x3585a5[_0x9422('0x18')](_0x125601);return _0x3585a5[_0x9422('0x1e')](_0x9422('0x1f'),_0x41a744+'-'+_0x1631ef+'/'+_0x5380f1)[_0x9422('0x20')](_0x330a82);}return null;};}function patchUpdates(_0x1d3c85){return function(_0x1b22cc){try{jsonpatch[_0x9422('0x21')](_0x1b22cc,_0x1d3c85,!![]);}catch(_0x440421){return BPromise['reject'](_0x440421);}return _0x1b22cc['save']();};}function saveUpdates(_0x1daf67,_0x18fb5d){return function(_0x168f1d){if(_0x168f1d){return _0x168f1d[_0x9422('0x22')](_0x1daf67)['then'](function(_0x31158f){return _0x31158f;});}return null;};}function removeEntity(_0x27aeec,_0x1cc5c5){return function(_0x4022d3){if(_0x4022d3){return _0x4022d3[_0x9422('0x23')]()['then'](function(){_0x27aeec[_0x9422('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a1283,_0x52b20d){return function(_0xd5067d){if(!_0xd5067d){_0x4a1283['sendStatus'](0x194);}return _0xd5067d;};}function handleError(_0x3ff5e1,_0x17e9e9){_0x17e9e9=_0x17e9e9||0x1f4;return function(_0x3d24b5){logger[_0x9422('0x24')](_0x3d24b5[_0x9422('0x25')]);if(_0x3d24b5['name']){delete _0x3d24b5['name'];}_0x3ff5e1[_0x9422('0x18')](_0x17e9e9)['send'](_0x3d24b5);};}exports[_0x9422('0x26')]=function(_0x31f1dd,_0x312d92){var _0xc63585={},_0x1a4375={},_0x2a77be={'count':0x0,'rows':[]};var _0x533664=_[_0x9422('0x27')](db[_0x9422('0x28')]['rawAttributes'],function(_0x4e5454){return{'name':_0x4e5454[_0x9422('0x29')],'type':_0x4e5454[_0x9422('0x2a')][_0x9422('0x2b')]};});_0x1a4375[_0x9422('0x2c')]=_['map'](_0x533664,_0x9422('0x2d'));_0x1a4375['query']=_[_0x9422('0x2e')](_0x31f1dd[_0x9422('0x2f')]);_0x1a4375[_0x9422('0x30')]=_[_0x9422('0x31')](_0x1a4375[_0x9422('0x2c')],_0x1a4375[_0x9422('0x2f')]);_0xc63585[_0x9422('0x32')]=_[_0x9422('0x31')](_0x1a4375[_0x9422('0x2c')],qs[_0x9422('0x33')](_0x31f1dd[_0x9422('0x2f')][_0x9422('0x33')]));_0xc63585[_0x9422('0x32')]=_0xc63585[_0x9422('0x32')][_0x9422('0x34')]?_0xc63585[_0x9422('0x32')]:_0x1a4375[_0x9422('0x2c')];if(!_0x31f1dd['query'][_0x9422('0x35')]('nolimit')){_0xc63585['limit']=qs['limit'](_0x31f1dd[_0x9422('0x2f')]['limit']);_0xc63585[_0x9422('0x1c')]=qs[_0x9422('0x1c')](_0x31f1dd[_0x9422('0x2f')][_0x9422('0x1c')]);}_0xc63585[_0x9422('0x36')]=qs['sort'](_0x31f1dd[_0x9422('0x2f')][_0x9422('0x37')]);_0xc63585['where']=qs[_0x9422('0x30')](_[_0x9422('0x38')](_0x31f1dd['query'],_0x1a4375[_0x9422('0x30')]),_0x533664);if(_0x31f1dd[_0x9422('0x2f')][_0x9422('0x39')]){_0xc63585['where']=_['merge'](_0xc63585[_0x9422('0x3a')],{'$or':_[_0x9422('0x27')](_0x533664,function(_0x53923e){if(_0x53923e[_0x9422('0x2a')]!==_0x9422('0x3b')){var _0xc51789={};_0xc51789[_0x53923e[_0x9422('0x2d')]]={'$like':'%'+_0x31f1dd[_0x9422('0x2f')]['filter']+'%'};return _0xc51789;}})});}_0xc63585=_['merge']({},_0xc63585,_0x31f1dd[_0x9422('0x3c')]);var _0x598266={'where':_0xc63585['where']};return db[_0x9422('0x28')][_0x9422('0x1d')](_0x598266)[_0x9422('0x3d')](function(_0x4c93dc){_0x2a77be[_0x9422('0x1d')]=_0x4c93dc;if(_0x31f1dd['query']['includeAll']){_0xc63585[_0x9422('0x3e')]=[{'all':!![]}];}return db[_0x9422('0x28')][_0x9422('0x3f')](_0xc63585);})[_0x9422('0x3d')](function(_0x17b5c2){_0x2a77be[_0x9422('0x40')]=_0x17b5c2;return _0x2a77be;})[_0x9422('0x3d')](respondWithFilteredResult(_0x312d92,_0xc63585))[_0x9422('0x41')](handleError(_0x312d92,null));};exports[_0x9422('0x42')]=function(_0x1c85ba,_0x35db72){var _0x341c6b={'raw':!![],'where':{'id':_0x1c85ba['params']['id']}},_0x282f29={};_0x282f29['model']=_['keys'](db['SquareRecording'][_0x9422('0x43')]);_0x282f29['query']=_[_0x9422('0x2e')](_0x1c85ba[_0x9422('0x2f')]);_0x282f29[_0x9422('0x30')]=_[_0x9422('0x31')](_0x282f29[_0x9422('0x2c')],_0x282f29[_0x9422('0x2f')]);_0x341c6b[_0x9422('0x32')]=_[_0x9422('0x31')](_0x282f29[_0x9422('0x2c')],qs['fields'](_0x1c85ba[_0x9422('0x2f')][_0x9422('0x33')]));_0x341c6b[_0x9422('0x32')]=_0x341c6b[_0x9422('0x32')][_0x9422('0x34')]?_0x341c6b[_0x9422('0x32')]:_0x282f29[_0x9422('0x2c')];if(_0x1c85ba['query'][_0x9422('0x44')]){_0x341c6b[_0x9422('0x3e')]=[{'all':!![]}];}_0x341c6b=_[_0x9422('0x45')]({},_0x341c6b,_0x1c85ba[_0x9422('0x3c')]);return db[_0x9422('0x28')][_0x9422('0x46')](_0x341c6b)[_0x9422('0x3d')](handleEntityNotFound(_0x35db72,null))[_0x9422('0x3d')](respondWithResult(_0x35db72,null))[_0x9422('0x41')](handleError(_0x35db72,null));};exports[_0x9422('0x47')]=function(_0x38f8ec,_0x34f5a5){return db[_0x9422('0x28')]['create'](_0x38f8ec[_0x9422('0x48')],{})[_0x9422('0x3d')](respondWithResult(_0x34f5a5,0xc9))['catch'](handleError(_0x34f5a5,null));};exports[_0x9422('0x22')]=function(_0x5018d3,_0x513027){if(_0x5018d3[_0x9422('0x48')]['id']){delete _0x5018d3[_0x9422('0x48')]['id'];}return db[_0x9422('0x28')][_0x9422('0x46')]({'where':{'id':_0x5018d3[_0x9422('0x49')]['id']}})['then'](handleEntityNotFound(_0x513027,null))[_0x9422('0x3d')](saveUpdates(_0x5018d3[_0x9422('0x48')],null))[_0x9422('0x3d')](respondWithResult(_0x513027,null))['catch'](handleError(_0x513027,null));};exports[_0x9422('0x4a')]=function(_0x38ef82,_0xd4a7c6,_0x543d25){var _0x48c558=require(_0x9422('0x4b'));var _0x1cc551=![];var _0x53af23={};if(_0x38ef82[_0x9422('0x2f')][_0x9422('0x2a')]&&_0x38ef82[_0x9422('0x2f')][_0x9422('0x2a')]==='uniqueid'){_0x53af23[_0x9422('0x4c')]=_0x38ef82[_0x9422('0x49')]['id'];}else{_0x53af23['id']=_0x38ef82[_0x9422('0x49')]['id'];}return db['SquareRecording']['find']({'where':_0x53af23,'attributes':['id',_0x9422('0x4d'),_0x9422('0x4e')],'raw':!![]})[_0x9422('0x3d')](handleEntityNotFound(_0xd4a7c6,null))[_0x9422('0x3d')](function(_0x2534af){if(_0x2534af){var _0x5150ad=_0x2534af[_0x9422('0x4d')];var _0x19ac26=util[_0x9422('0x4f')](_0x9422('0x50'),_0x5150ad);if(fs[_0x9422('0x51')](_0x19ac26)){_0x1cc551=!![];return _0x48c558[_0x9422('0x52')](_0x19ac26,_0x5150ad,config['secrets']['recording'])[_0x9422('0x3d')](function(){return _0x2534af;});}return _0x2534af;}})[_0x9422('0x3d')](function(_0x484bd0){if(_0x484bd0){var _0x28bc8d=_0x484bd0[_0x9422('0x4d')];if(!fs[_0x9422('0x51')](_0x28bc8d)){throw new db[(_0x9422('0x53'))][(_0x9422('0x54'))](_0x9422('0x55'));}if(_0x484bd0[_0x9422('0x4e')]){return _0xd4a7c6[_0x9422('0x4a')](_0x28bc8d,_0x484bd0['filename']+path[_0x9422('0x56')](_0x28bc8d),function(){if(_0x1cc551){fs['unlink'](_0x28bc8d);}});}else{return _0xd4a7c6[_0x9422('0x4a')](_0x28bc8d,function(_0x43ec9f){if(_0x1cc551){fs[_0x9422('0x57')](_0x28bc8d);}});}}})[_0x9422('0x41')](function(_0x40d50f){if(_0x40d50f[_0x9422('0x58')]===_0x9422('0x55')){_0xd4a7c6[_0x9422('0x18')](0x194)[_0x9422('0x59')](_0x9422('0x5a'));}else{return handleError(_0xd4a7c6,null);}});};exports['destroy']=function(_0x2658d0,_0x2b3b2e){return db['SquareRecording'][_0x9422('0x46')]({'where':{'id':_0x2658d0[_0x9422('0x49')]['id']}})['then'](function(_0x2fa926){if(_[_0x9422('0x5b')](_0x2fa926)){throw new ReferenceError(_0x9422('0x5c'));}return _0x2fa926;})['then'](function(_0x1098ca){var _0x10fbd3=_0x1098ca[_0x9422('0x4d')];logger[_0x9422('0x5d')](_0x9422('0x5e'),_0x10fbd3);if(!_[_0x9422('0x5b')](_0x1098ca[_0x9422('0x4d')])&&fs[_0x9422('0x51')](_0x10fbd3)){logger[_0x9422('0x5d')](_0x9422('0x5f')+_0x10fbd3+_0x9422('0x60'));fs[_0x9422('0x61')](_0x10fbd3);}_0x10fbd3=_0x10fbd3+_0x9422('0x62');if(!_[_0x9422('0x5b')](_0x1098ca[_0x9422('0x4d')])&&fs[_0x9422('0x51')](_0x10fbd3)){logger[_0x9422('0x5d')](_0x9422('0x5f')+_0x10fbd3+_0x9422('0x60'));fs[_0x9422('0x61')](_0x10fbd3);}return _0x1098ca;})[_0x9422('0x3d')](function(_0x374bfe){if(!_0x374bfe)throw new InternalError();return _0x374bfe[_0x9422('0x23')]();})[_0x9422('0x3d')](function(){_0x2b3b2e[_0x9422('0x18')](0xcc)['end']();})[_0x9422('0x41')](handleError(_0x2b3b2e,null));};