1954b1a62644678ca4d1fc0d1931e225d1df2b50
[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 _0xdaa9=['nolimit','order','sort','filters','pick','filter','where','VIRTUAL','merge','options','then','includeAll','include','findAll','rows','catch','show','params','find','create','body','download','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','decryptFile','secrets','existsSync','Sequelize','SquareRecording\x20not\x20found','extname','unlink','message','Not\x20found','isNil','Entity\x20not\x20found','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','end','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','offset','limit','count','set','Content-Range','apply','reject','save','update','error','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','model','query','keys','attributes','intersection','fields','length','hasOwnProperty'];(function(_0x6e23b9,_0x53be36){var _0x204e06=function(_0x1bfba1){while(--_0x1bfba1){_0x6e23b9['push'](_0x6e23b9['shift']());}};_0x204e06(++_0x53be36);}(_0xdaa9,0x14c));var _0x9daa=function(_0x2f5ac5,_0x1ee939){_0x2f5ac5=_0x2f5ac5-0x0;var _0x37c9a8=_0xdaa9[_0x2f5ac5];return _0x37c9a8;};'use strict';var emlformat=require(_0x9daa('0x0'));var rimraf=require(_0x9daa('0x1'));var zipdir=require(_0x9daa('0x2'));var jsonpatch=require(_0x9daa('0x3'));var rp=require(_0x9daa('0x4'));var moment=require('moment');var BPromise=require(_0x9daa('0x5'));var Mustache=require(_0x9daa('0x6'));var util=require('util');var path=require(_0x9daa('0x7'));var sox=require(_0x9daa('0x8'));var csv=require(_0x9daa('0x9'));var ejs=require(_0x9daa('0xa'));var fs=require('fs');var fs_extra=require(_0x9daa('0xb'));var _=require('lodash');var squel=require(_0x9daa('0xc'));var crypto=require(_0x9daa('0xd'));var jsforce=require(_0x9daa('0xe'));var deskjs=require(_0x9daa('0xf'));var toCsv=require(_0x9daa('0x9'));var querystring=require(_0x9daa('0x10'));var Papa=require('papaparse');var Redis=require(_0x9daa('0x11'));var authService=require(_0x9daa('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9daa('0x13'));var logger=require(_0x9daa('0x14'))(_0x9daa('0x15'));var utils=require(_0x9daa('0x16'));var config=require(_0x9daa('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x312050,_0x5572eb){_0x5572eb=_0x5572eb||0xcc;return function(_0x4db780){if(_0x4db780){return _0x312050[_0x9daa('0x18')](_0x5572eb);}return _0x312050['status'](_0x5572eb)['end']();};}function respondWithResult(_0x445d8c,_0x411b64){_0x411b64=_0x411b64||0xc8;return function(_0x14e483){if(_0x14e483){return _0x445d8c[_0x9daa('0x19')](_0x411b64)['json'](_0x14e483);}};}function respondWithFilteredResult(_0x49457d,_0x35daa2){return function(_0x368a3e){if(_0x368a3e){var _0x258a39=typeof _0x35daa2[_0x9daa('0x1a')]==='undefined'&&typeof _0x35daa2[_0x9daa('0x1b')]==='undefined';var _0x396054=_0x368a3e[_0x9daa('0x1c')];var _0x37adb8=_0x258a39?0x0:_0x35daa2[_0x9daa('0x1a')];var _0x13525b=_0x258a39?_0x368a3e[_0x9daa('0x1c')]:_0x35daa2[_0x9daa('0x1a')]+_0x35daa2[_0x9daa('0x1b')];var _0x36bcd9;if(_0x13525b>=_0x396054){_0x13525b=_0x396054;_0x36bcd9=0xc8;}else{_0x36bcd9=0xce;}_0x49457d[_0x9daa('0x19')](_0x36bcd9);return _0x49457d[_0x9daa('0x1d')](_0x9daa('0x1e'),_0x37adb8+'-'+_0x13525b+'/'+_0x396054)['json'](_0x368a3e);}return null;};}function patchUpdates(_0x5ae217){return function(_0x13c0ae){try{jsonpatch[_0x9daa('0x1f')](_0x13c0ae,_0x5ae217,!![]);}catch(_0x12d797){return BPromise[_0x9daa('0x20')](_0x12d797);}return _0x13c0ae[_0x9daa('0x21')]();};}function saveUpdates(_0x4f7716,_0x248a22){return function(_0xde67b){if(_0xde67b){return _0xde67b[_0x9daa('0x22')](_0x4f7716)['then'](function(_0x117053){return _0x117053;});}return null;};}function removeEntity(_0x59b716,_0x7e8d01){return function(_0x16c5e6){if(_0x16c5e6){return _0x16c5e6['destroy']()['then'](function(){_0x59b716[_0x9daa('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x353959,_0x947d31){return function(_0x1e770b){if(!_0x1e770b){_0x353959[_0x9daa('0x18')](0x194);}return _0x1e770b;};}function handleError(_0x25a2bc,_0x25a9c7){_0x25a9c7=_0x25a9c7||0x1f4;return function(_0x16b53a){logger[_0x9daa('0x23')](_0x16b53a['stack']);if(_0x16b53a[_0x9daa('0x24')]){delete _0x16b53a[_0x9daa('0x24')];}_0x25a2bc[_0x9daa('0x19')](_0x25a9c7)[_0x9daa('0x25')](_0x16b53a);};}exports[_0x9daa('0x26')]=function(_0xc04748,_0x4bc757){var _0x42c995={},_0x2b362a={},_0x24c761={'count':0x0,'rows':[]};var _0x346d90=_[_0x9daa('0x27')](db[_0x9daa('0x28')][_0x9daa('0x29')],function(_0x5e0aa2){return{'name':_0x5e0aa2[_0x9daa('0x2a')],'type':_0x5e0aa2[_0x9daa('0x2b')]['key']};});_0x2b362a[_0x9daa('0x2c')]=_[_0x9daa('0x27')](_0x346d90,_0x9daa('0x24'));_0x2b362a[_0x9daa('0x2d')]=_[_0x9daa('0x2e')](_0xc04748[_0x9daa('0x2d')]);_0x2b362a['filters']=_['intersection'](_0x2b362a[_0x9daa('0x2c')],_0x2b362a[_0x9daa('0x2d')]);_0x42c995[_0x9daa('0x2f')]=_[_0x9daa('0x30')](_0x2b362a[_0x9daa('0x2c')],qs[_0x9daa('0x31')](_0xc04748[_0x9daa('0x2d')][_0x9daa('0x31')]));_0x42c995[_0x9daa('0x2f')]=_0x42c995[_0x9daa('0x2f')][_0x9daa('0x32')]?_0x42c995[_0x9daa('0x2f')]:_0x2b362a[_0x9daa('0x2c')];if(!_0xc04748[_0x9daa('0x2d')][_0x9daa('0x33')](_0x9daa('0x34'))){_0x42c995[_0x9daa('0x1b')]=qs[_0x9daa('0x1b')](_0xc04748[_0x9daa('0x2d')][_0x9daa('0x1b')]);_0x42c995[_0x9daa('0x1a')]=qs[_0x9daa('0x1a')](_0xc04748[_0x9daa('0x2d')][_0x9daa('0x1a')]);}_0x42c995[_0x9daa('0x35')]=qs[_0x9daa('0x36')](_0xc04748['query'][_0x9daa('0x36')]);_0x42c995['where']=qs[_0x9daa('0x37')](_[_0x9daa('0x38')](_0xc04748[_0x9daa('0x2d')],_0x2b362a[_0x9daa('0x37')]),_0x346d90);if(_0xc04748[_0x9daa('0x2d')][_0x9daa('0x39')]){_0x42c995[_0x9daa('0x3a')]=_['merge'](_0x42c995[_0x9daa('0x3a')],{'$or':_[_0x9daa('0x27')](_0x346d90,function(_0x5434b8){if(_0x5434b8[_0x9daa('0x2b')]!==_0x9daa('0x3b')){var _0x2a0a28={};_0x2a0a28[_0x5434b8[_0x9daa('0x24')]]={'$like':'%'+_0xc04748[_0x9daa('0x2d')][_0x9daa('0x39')]+'%'};return _0x2a0a28;}})});}_0x42c995=_[_0x9daa('0x3c')]({},_0x42c995,_0xc04748[_0x9daa('0x3d')]);var _0xe3e9eb={'where':_0x42c995['where']};return db['SquareRecording'][_0x9daa('0x1c')](_0xe3e9eb)[_0x9daa('0x3e')](function(_0x1248b7){_0x24c761[_0x9daa('0x1c')]=_0x1248b7;if(_0xc04748[_0x9daa('0x2d')][_0x9daa('0x3f')]){_0x42c995[_0x9daa('0x40')]=[{'all':!![]}];}return db[_0x9daa('0x28')][_0x9daa('0x41')](_0x42c995);})[_0x9daa('0x3e')](function(_0x3c2deb){_0x24c761[_0x9daa('0x42')]=_0x3c2deb;return _0x24c761;})['then'](respondWithFilteredResult(_0x4bc757,_0x42c995))[_0x9daa('0x43')](handleError(_0x4bc757,null));};exports[_0x9daa('0x44')]=function(_0x563b81,_0x3a2b9b){var _0x29fd74={'raw':!![],'where':{'id':_0x563b81[_0x9daa('0x45')]['id']}},_0x4287d0={};_0x4287d0['model']=_[_0x9daa('0x2e')](db[_0x9daa('0x28')][_0x9daa('0x29')]);_0x4287d0[_0x9daa('0x2d')]=_[_0x9daa('0x2e')](_0x563b81[_0x9daa('0x2d')]);_0x4287d0[_0x9daa('0x37')]=_['intersection'](_0x4287d0[_0x9daa('0x2c')],_0x4287d0[_0x9daa('0x2d')]);_0x29fd74[_0x9daa('0x2f')]=_[_0x9daa('0x30')](_0x4287d0[_0x9daa('0x2c')],qs[_0x9daa('0x31')](_0x563b81[_0x9daa('0x2d')][_0x9daa('0x31')]));_0x29fd74[_0x9daa('0x2f')]=_0x29fd74[_0x9daa('0x2f')][_0x9daa('0x32')]?_0x29fd74[_0x9daa('0x2f')]:_0x4287d0['model'];if(_0x563b81[_0x9daa('0x2d')]['includeAll']){_0x29fd74[_0x9daa('0x40')]=[{'all':!![]}];}_0x29fd74=_[_0x9daa('0x3c')]({},_0x29fd74,_0x563b81[_0x9daa('0x3d')]);return db[_0x9daa('0x28')][_0x9daa('0x46')](_0x29fd74)[_0x9daa('0x3e')](handleEntityNotFound(_0x3a2b9b,null))['then'](respondWithResult(_0x3a2b9b,null))['catch'](handleError(_0x3a2b9b,null));};exports[_0x9daa('0x47')]=function(_0x2baebc,_0x41c3ff){return db[_0x9daa('0x28')][_0x9daa('0x47')](_0x2baebc[_0x9daa('0x48')],{})[_0x9daa('0x3e')](respondWithResult(_0x41c3ff,0xc9))['catch'](handleError(_0x41c3ff,null));};exports['update']=function(_0x43a919,_0x4df14a){if(_0x43a919['body']['id']){delete _0x43a919['body']['id'];}return db[_0x9daa('0x28')][_0x9daa('0x46')]({'where':{'id':_0x43a919[_0x9daa('0x45')]['id']}})['then'](handleEntityNotFound(_0x4df14a,null))[_0x9daa('0x3e')](saveUpdates(_0x43a919['body'],null))[_0x9daa('0x3e')](respondWithResult(_0x4df14a,null))['catch'](handleError(_0x4df14a,null));};exports[_0x9daa('0x49')]=function(_0x1b18ab,_0x5c3ffc,_0x1d06b1){var _0x234761=require(_0x9daa('0x4a'));var _0x161552=![];var _0x4b2d2c={};if(_0x1b18ab[_0x9daa('0x2d')]['type']&&_0x1b18ab['query'][_0x9daa('0x2b')]===_0x9daa('0x4b')){_0x4b2d2c[_0x9daa('0x4b')]=_0x1b18ab[_0x9daa('0x45')]['id'];}else{_0x4b2d2c['id']=_0x1b18ab[_0x9daa('0x45')]['id'];}return db[_0x9daa('0x28')][_0x9daa('0x46')]({'where':_0x4b2d2c,'attributes':['id',_0x9daa('0x4c'),_0x9daa('0x4d')],'raw':!![]})[_0x9daa('0x3e')](handleEntityNotFound(_0x5c3ffc,null))[_0x9daa('0x3e')](function(_0x5f17ed){if(_0x5f17ed){var _0x9dd341=_0x5f17ed['savePath'];var _0x4fc137=util[_0x9daa('0x4e')](_0x9daa('0x4f'),_0x9dd341);if(fs['existsSync'](_0x4fc137)){_0x161552=!![];return _0x234761[_0x9daa('0x50')](_0x4fc137,_0x9dd341,config[_0x9daa('0x51')]['recording'])[_0x9daa('0x3e')](function(){return _0x5f17ed;});}return _0x5f17ed;}})['then'](function(_0x353ef4){if(_0x353ef4){var _0x1094b2=_0x353ef4[_0x9daa('0x4c')];if(!fs[_0x9daa('0x52')](_0x1094b2)){throw new db[(_0x9daa('0x53'))]['ValidationError'](_0x9daa('0x54'));}if(_0x353ef4[_0x9daa('0x4d')]){return _0x5c3ffc['download'](_0x1094b2,_0x353ef4[_0x9daa('0x4d')]+path[_0x9daa('0x55')](_0x1094b2),function(){if(_0x161552){fs['unlink'](_0x1094b2);}});}else{return _0x5c3ffc[_0x9daa('0x49')](_0x1094b2,function(_0x56b8a5){if(_0x161552){fs[_0x9daa('0x56')](_0x1094b2);}});}}})['catch'](function(_0x11e0f0){if(_0x11e0f0[_0x9daa('0x57')]==='SquareRecording\x20not\x20found'){_0x5c3ffc[_0x9daa('0x19')](0x194)['send'](_0x9daa('0x58'));}else{return handleError(_0x5c3ffc,null);}});};exports['destroy']=function(_0x4723df,_0x2e57e5){return db[_0x9daa('0x28')][_0x9daa('0x46')]({'where':{'id':_0x4723df[_0x9daa('0x45')]['id']}})['then'](function(_0x33430c){if(_[_0x9daa('0x59')](_0x33430c)){throw new ReferenceError(_0x9daa('0x5a'));}return _0x33430c;})[_0x9daa('0x3e')](function(_0xe2cb68){var _0x20e3e2=_0xe2cb68['savePath'];logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x20e3e2);if(!_['isNil'](_0xe2cb68[_0x9daa('0x4c')])&&fs[_0x9daa('0x52')](_0x20e3e2)){logger['info'](_0x9daa('0x5b')+_0x20e3e2+_0x9daa('0x5c'));fs['unlinkSync'](_0x20e3e2);}_0x20e3e2=_0x20e3e2+_0x9daa('0x5d');if(!_[_0x9daa('0x59')](_0xe2cb68[_0x9daa('0x4c')])&&fs[_0x9daa('0x52')](_0x20e3e2)){logger['info'](_0x9daa('0x5b')+_0x20e3e2+_0x9daa('0x5c'));fs[_0x9daa('0x5e')](_0x20e3e2);}return _0xe2cb68;})[_0x9daa('0x3e')](function(_0x48afdf){if(!_0x48afdf)throw new InternalError();return _0x48afdf['destroy']();})[_0x9daa('0x3e')](function(){_0x2e57e5[_0x9daa('0x19')](0xcc)[_0x9daa('0x5f')]();})[_0x9daa('0x43')](handleError(_0x2e57e5,null));};