Built motion from commit ab870f9e.|2.5.44
[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 _0xd596=['index','fieldName','type','key','model','map','keys','query','filters','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','filter','where','VIRTUAL','merge','includeAll','include','SquareRecording','findAll','rows','catch','show','params','rawAttributes','fields','options','find','create','body','../../components/encryptor','uniqueid','savePath','format','%s.cypher','decryptFile','secrets','filename','download','extname','unlink','message','SquareRecording\x20not\x20found','destroy','isNil','Entity\x20not\x20found','info','existsSync','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','zip-dir','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','status','end','offset','undefined','limit','count','set','json','apply','reject','then','error','stack','name','send'];(function(_0x5e67c4,_0x4c7403){var _0x5986d3=function(_0x57d8b2){while(--_0x57d8b2){_0x5e67c4['push'](_0x5e67c4['shift']());}};_0x5986d3(++_0x4c7403);}(_0xd596,0x1ac));var _0x6d59=function(_0x3a9635,_0x1ab817){_0x3a9635=_0x3a9635-0x0;var _0x10d08c=_0xd596[_0x3a9635];return _0x10d08c;};'use strict';var emlformat=require(_0x6d59('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6d59('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x6d59('0x2'));var path=require('path');var sox=require(_0x6d59('0x3'));var csv=require(_0x6d59('0x4'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6d59('0x5'));var _=require(_0x6d59('0x6'));var squel=require(_0x6d59('0x7'));var crypto=require(_0x6d59('0x8'));var jsforce=require(_0x6d59('0x9'));var deskjs=require(_0x6d59('0xa'));var toCsv=require('to-csv');var querystring=require(_0x6d59('0xb'));var Papa=require(_0x6d59('0xc'));var Redis=require(_0x6d59('0xd'));var authService=require(_0x6d59('0xe'));var qs=require(_0x6d59('0xf'));var as=require(_0x6d59('0x10'));var hardwareService=require(_0x6d59('0x11'));var logger=require(_0x6d59('0x12'))('api');var utils=require(_0x6d59('0x13'));var config=require(_0x6d59('0x14'));var licenseUtil=require(_0x6d59('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5166c9,_0x219573){_0x219573=_0x219573||0xcc;return function(_0x39dcea){if(_0x39dcea){return _0x5166c9['sendStatus'](_0x219573);}return _0x5166c9[_0x6d59('0x16')](_0x219573)[_0x6d59('0x17')]();};}function respondWithResult(_0x5465b3,_0x4b40a1){_0x4b40a1=_0x4b40a1||0xc8;return function(_0x4a34a3){if(_0x4a34a3){return _0x5465b3[_0x6d59('0x16')](_0x4b40a1)['json'](_0x4a34a3);}};}function respondWithFilteredResult(_0x4ebc94,_0x3a4e89){return function(_0x478fbf){if(_0x478fbf){var _0x38b856=typeof _0x3a4e89[_0x6d59('0x18')]===_0x6d59('0x19')&&typeof _0x3a4e89[_0x6d59('0x1a')]==='undefined';var _0x1e118a=_0x478fbf[_0x6d59('0x1b')];var _0x3f34a9=_0x38b856?0x0:_0x3a4e89['offset'];var _0x1107c9=_0x38b856?_0x478fbf[_0x6d59('0x1b')]:_0x3a4e89[_0x6d59('0x18')]+_0x3a4e89[_0x6d59('0x1a')];var _0x27a219;if(_0x1107c9>=_0x1e118a){_0x1107c9=_0x1e118a;_0x27a219=0xc8;}else{_0x27a219=0xce;}_0x4ebc94[_0x6d59('0x16')](_0x27a219);return _0x4ebc94[_0x6d59('0x1c')]('Content-Range',_0x3f34a9+'-'+_0x1107c9+'/'+_0x1e118a)[_0x6d59('0x1d')](_0x478fbf);}return null;};}function patchUpdates(_0x17ae55){return function(_0x2271e8){try{jsonpatch[_0x6d59('0x1e')](_0x2271e8,_0x17ae55,!![]);}catch(_0x174cac){return BPromise[_0x6d59('0x1f')](_0x174cac);}return _0x2271e8['save']();};}function saveUpdates(_0x394473,_0x3cc443){return function(_0x51efe2){if(_0x51efe2){return _0x51efe2['update'](_0x394473)[_0x6d59('0x20')](function(_0x1ccda6){return _0x1ccda6;});}return null;};}function removeEntity(_0x27abaf,_0x166805){return function(_0xb95555){if(_0xb95555){return _0xb95555['destroy']()[_0x6d59('0x20')](function(){_0x27abaf[_0x6d59('0x16')](0xcc)[_0x6d59('0x17')]();});}};}function handleEntityNotFound(_0x5d41ce,_0x45b0be){return function(_0x590568){if(!_0x590568){_0x5d41ce['sendStatus'](0x194);}return _0x590568;};}function handleError(_0x13f6a4,_0x1ea4f8){_0x1ea4f8=_0x1ea4f8||0x1f4;return function(_0x2405bb){logger[_0x6d59('0x21')](_0x2405bb[_0x6d59('0x22')]);if(_0x2405bb['name']){delete _0x2405bb[_0x6d59('0x23')];}_0x13f6a4[_0x6d59('0x16')](_0x1ea4f8)[_0x6d59('0x24')](_0x2405bb);};}exports[_0x6d59('0x25')]=function(_0x2ed774,_0x18b5ba){var _0x3ded56={},_0x1670a7={},_0xaa212f={'count':0x0,'rows':[]};var _0x2fceb2=_['map'](db['SquareRecording']['rawAttributes'],function(_0x1f79a9){return{'name':_0x1f79a9[_0x6d59('0x26')],'type':_0x1f79a9[_0x6d59('0x27')][_0x6d59('0x28')]};});_0x1670a7[_0x6d59('0x29')]=_[_0x6d59('0x2a')](_0x2fceb2,_0x6d59('0x23'));_0x1670a7['query']=_[_0x6d59('0x2b')](_0x2ed774[_0x6d59('0x2c')]);_0x1670a7[_0x6d59('0x2d')]=_['intersection'](_0x1670a7['model'],_0x1670a7[_0x6d59('0x2c')]);_0x3ded56[_0x6d59('0x2e')]=_[_0x6d59('0x2f')](_0x1670a7[_0x6d59('0x29')],qs['fields'](_0x2ed774[_0x6d59('0x2c')]['fields']));_0x3ded56[_0x6d59('0x2e')]=_0x3ded56[_0x6d59('0x2e')][_0x6d59('0x30')]?_0x3ded56['attributes']:_0x1670a7[_0x6d59('0x29')];if(!_0x2ed774[_0x6d59('0x2c')][_0x6d59('0x31')](_0x6d59('0x32'))){_0x3ded56['limit']=qs['limit'](_0x2ed774[_0x6d59('0x2c')][_0x6d59('0x1a')]);_0x3ded56[_0x6d59('0x18')]=qs[_0x6d59('0x18')](_0x2ed774[_0x6d59('0x2c')][_0x6d59('0x18')]);}_0x3ded56[_0x6d59('0x33')]=qs[_0x6d59('0x34')](_0x2ed774[_0x6d59('0x2c')]['sort']);_0x3ded56['where']=qs[_0x6d59('0x2d')](_['pick'](_0x2ed774[_0x6d59('0x2c')],_0x1670a7['filters']),_0x2fceb2);if(_0x2ed774['query'][_0x6d59('0x35')]){_0x3ded56[_0x6d59('0x36')]=_['merge'](_0x3ded56[_0x6d59('0x36')],{'$or':_[_0x6d59('0x2a')](_0x2fceb2,function(_0x13760e){if(_0x13760e[_0x6d59('0x27')]!==_0x6d59('0x37')){var _0x36328e={};_0x36328e[_0x13760e[_0x6d59('0x23')]]={'$like':'%'+_0x2ed774[_0x6d59('0x2c')][_0x6d59('0x35')]+'%'};return _0x36328e;}})});}_0x3ded56=_[_0x6d59('0x38')]({},_0x3ded56,_0x2ed774['options']);var _0x351565={'where':_0x3ded56[_0x6d59('0x36')]};return db['SquareRecording'][_0x6d59('0x1b')](_0x351565)[_0x6d59('0x20')](function(_0xfd6bcf){_0xaa212f[_0x6d59('0x1b')]=_0xfd6bcf;if(_0x2ed774['query'][_0x6d59('0x39')]){_0x3ded56[_0x6d59('0x3a')]=[{'all':!![]}];}return db[_0x6d59('0x3b')][_0x6d59('0x3c')](_0x3ded56);})[_0x6d59('0x20')](function(_0x2c516d){_0xaa212f[_0x6d59('0x3d')]=_0x2c516d;return _0xaa212f;})[_0x6d59('0x20')](respondWithFilteredResult(_0x18b5ba,_0x3ded56))[_0x6d59('0x3e')](handleError(_0x18b5ba,null));};exports[_0x6d59('0x3f')]=function(_0x28eb16,_0x48eedc){var _0x2dcc08={'raw':!![],'where':{'id':_0x28eb16[_0x6d59('0x40')]['id']}},_0x4ba0ba={};_0x4ba0ba['model']=_['keys'](db[_0x6d59('0x3b')][_0x6d59('0x41')]);_0x4ba0ba[_0x6d59('0x2c')]=_[_0x6d59('0x2b')](_0x28eb16['query']);_0x4ba0ba[_0x6d59('0x2d')]=_['intersection'](_0x4ba0ba[_0x6d59('0x29')],_0x4ba0ba[_0x6d59('0x2c')]);_0x2dcc08[_0x6d59('0x2e')]=_['intersection'](_0x4ba0ba[_0x6d59('0x29')],qs['fields'](_0x28eb16[_0x6d59('0x2c')][_0x6d59('0x42')]));_0x2dcc08[_0x6d59('0x2e')]=_0x2dcc08[_0x6d59('0x2e')][_0x6d59('0x30')]?_0x2dcc08[_0x6d59('0x2e')]:_0x4ba0ba['model'];if(_0x28eb16[_0x6d59('0x2c')]['includeAll']){_0x2dcc08[_0x6d59('0x3a')]=[{'all':!![]}];}_0x2dcc08=_[_0x6d59('0x38')]({},_0x2dcc08,_0x28eb16[_0x6d59('0x43')]);return db['SquareRecording'][_0x6d59('0x44')](_0x2dcc08)[_0x6d59('0x20')](handleEntityNotFound(_0x48eedc,null))[_0x6d59('0x20')](respondWithResult(_0x48eedc,null))[_0x6d59('0x3e')](handleError(_0x48eedc,null));};exports['create']=function(_0x54d9db,_0x4ec1d7){return db[_0x6d59('0x3b')][_0x6d59('0x45')](_0x54d9db[_0x6d59('0x46')],{})[_0x6d59('0x20')](respondWithResult(_0x4ec1d7,0xc9))[_0x6d59('0x3e')](handleError(_0x4ec1d7,null));};exports['update']=function(_0x31d989,_0x507b6c){if(_0x31d989[_0x6d59('0x46')]['id']){delete _0x31d989[_0x6d59('0x46')]['id'];}return db[_0x6d59('0x3b')][_0x6d59('0x44')]({'where':{'id':_0x31d989[_0x6d59('0x40')]['id']}})[_0x6d59('0x20')](handleEntityNotFound(_0x507b6c,null))[_0x6d59('0x20')](saveUpdates(_0x31d989[_0x6d59('0x46')],null))['then'](respondWithResult(_0x507b6c,null))[_0x6d59('0x3e')](handleError(_0x507b6c,null));};exports['download']=function(_0x409255,_0x47afd1,_0x1245e7){var _0x552ab2=require(_0x6d59('0x47'));var _0x49a49b=![];var _0x145403={};if(_0x409255[_0x6d59('0x2c')]['type']&&_0x409255['query']['type']===_0x6d59('0x48')){_0x145403[_0x6d59('0x48')]=_0x409255[_0x6d59('0x40')]['id'];}else{_0x145403['id']=_0x409255[_0x6d59('0x40')]['id'];}return db[_0x6d59('0x3b')][_0x6d59('0x44')]({'where':_0x145403,'attributes':['id',_0x6d59('0x49'),'filename'],'raw':!![]})[_0x6d59('0x20')](handleEntityNotFound(_0x47afd1,null))[_0x6d59('0x20')](function(_0xb1b2c8){if(_0xb1b2c8){var _0x2b25ac=_0xb1b2c8[_0x6d59('0x49')];var _0x3893f1=util[_0x6d59('0x4a')](_0x6d59('0x4b'),_0x2b25ac);if(fs['existsSync'](_0x3893f1)){_0x49a49b=!![];return _0x552ab2[_0x6d59('0x4c')](_0x3893f1,_0x2b25ac,config[_0x6d59('0x4d')]['recording'])[_0x6d59('0x20')](function(){return _0xb1b2c8;});}return _0xb1b2c8;}})[_0x6d59('0x20')](function(_0x5d2997){if(_0x5d2997){var _0x2a7a85=_0x5d2997[_0x6d59('0x49')];if(!fs['existsSync'](_0x2a7a85)){throw new db['Sequelize']['ValidationError']('SquareRecording\x20not\x20found');}if(_0x5d2997[_0x6d59('0x4e')]){return _0x47afd1[_0x6d59('0x4f')](_0x2a7a85,_0x5d2997['filename']+path[_0x6d59('0x50')](_0x2a7a85),function(){if(_0x49a49b){fs['unlink'](_0x2a7a85);}});}else{return _0x47afd1[_0x6d59('0x4f')](_0x2a7a85,function(_0x33369b){if(_0x49a49b){fs[_0x6d59('0x51')](_0x2a7a85);}});}}})[_0x6d59('0x3e')](function(_0x50d38e){if(_0x50d38e[_0x6d59('0x52')]===_0x6d59('0x53')){_0x47afd1['status'](0x194)[_0x6d59('0x24')]('Not\x20found');}else{return handleError(_0x47afd1,null);}});};exports[_0x6d59('0x54')]=function(_0xe4731d,_0x350cde){return db['SquareRecording'][_0x6d59('0x44')]({'where':{'id':_0xe4731d[_0x6d59('0x40')]['id']}})[_0x6d59('0x20')](function(_0x251d98){if(_[_0x6d59('0x55')](_0x251d98)){throw new ReferenceError(_0x6d59('0x56'));}return _0x251d98;})[_0x6d59('0x20')](function(_0x4aeb4e){var _0x162f3c=_0x4aeb4e['savePath'];logger[_0x6d59('0x57')]('cancellazione\x20fisica\x20documento\x20%s',_0x162f3c);if(!_[_0x6d59('0x55')](_0x4aeb4e[_0x6d59('0x49')])&&fs[_0x6d59('0x58')](_0x162f3c)){logger[_0x6d59('0x57')](_0x6d59('0x59')+_0x162f3c+_0x6d59('0x5a'));fs[_0x6d59('0x5b')](_0x162f3c);}_0x162f3c=_0x162f3c+_0x6d59('0x5c');if(!_[_0x6d59('0x55')](_0x4aeb4e['savePath'])&&fs[_0x6d59('0x58')](_0x162f3c)){logger[_0x6d59('0x57')](_0x6d59('0x59')+_0x162f3c+_0x6d59('0x5a'));fs[_0x6d59('0x5b')](_0x162f3c);}return _0x4aeb4e;})[_0x6d59('0x20')](function(_0x136416){if(!_0x136416)throw new InternalError();return _0x136416[_0x6d59('0x54')]();})[_0x6d59('0x20')](function(){_0x350cde[_0x6d59('0x16')](0xcc)[_0x6d59('0x17')]();})['catch'](handleError(_0x350cde,null));};