Built motion from commit 9e1399f3.|2.5.37
[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 _0xd4b5=['cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','count','set','Content-Range','json','reject','save','then','error','stack','name','send','index','SquareRecording','type','key','model','map','query','keys','attributes','intersection','fields','length','nolimit','limit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','rawAttributes','find','catch','create','update','body','params','download','../../components/encryptor','savePath','format','%s.cypher','decryptFile','recording','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','extname','unlink','Not\x20found','destroy','isNil','Entity\x20not\x20found'];(function(_0x237f8b,_0xc5eddb){var _0x423f94=function(_0x1f18f9){while(--_0x1f18f9){_0x237f8b['push'](_0x237f8b['shift']());}};_0x423f94(++_0xc5eddb);}(_0xd4b5,0x129));var _0x5d4b=function(_0x44c935,_0x3653f0){_0x44c935=_0x44c935-0x0;var _0x465bee=_0xd4b5[_0x44c935];return _0x465bee;};'use strict';var emlformat=require(_0x5d4b('0x0'));var rimraf=require(_0x5d4b('0x1'));var zipdir=require(_0x5d4b('0x2'));var jsonpatch=require(_0x5d4b('0x3'));var rp=require(_0x5d4b('0x4'));var moment=require(_0x5d4b('0x5'));var BPromise=require(_0x5d4b('0x6'));var Mustache=require(_0x5d4b('0x7'));var util=require(_0x5d4b('0x8'));var path=require(_0x5d4b('0x9'));var sox=require('sox');var csv=require(_0x5d4b('0xa'));var ejs=require(_0x5d4b('0xb'));var fs=require('fs');var fs_extra=require(_0x5d4b('0xc'));var _=require(_0x5d4b('0xd'));var squel=require(_0x5d4b('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x5d4b('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x5d4b('0xf'));var as=require(_0x5d4b('0x10'));var hardwareService=require(_0x5d4b('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x5d4b('0x12'));var config=require(_0x5d4b('0x13'));var licenseUtil=require(_0x5d4b('0x14'));var db=require(_0x5d4b('0x15'))['db'];function respondWithStatusCode(_0x24e982,_0x4335d3){_0x4335d3=_0x4335d3||0xcc;return function(_0xe0f3f9){if(_0xe0f3f9){return _0x24e982[_0x5d4b('0x16')](_0x4335d3);}return _0x24e982['status'](_0x4335d3)[_0x5d4b('0x17')]();};}function respondWithResult(_0x139152,_0x484901){_0x484901=_0x484901||0xc8;return function(_0x2277ee){if(_0x2277ee){return _0x139152[_0x5d4b('0x18')](_0x484901)['json'](_0x2277ee);}};}function respondWithFilteredResult(_0x26ea9d,_0x470ddc){return function(_0x2da87f){if(_0x2da87f){var _0x53c16b=typeof _0x470ddc[_0x5d4b('0x19')]===_0x5d4b('0x1a')&&typeof _0x470ddc['limit']===_0x5d4b('0x1a');var _0x292294=_0x2da87f['count'];var _0x4978e5=_0x53c16b?0x0:_0x470ddc[_0x5d4b('0x19')];var _0x3d55a6=_0x53c16b?_0x2da87f[_0x5d4b('0x1b')]:_0x470ddc[_0x5d4b('0x19')]+_0x470ddc['limit'];var _0x494ea1;if(_0x3d55a6>=_0x292294){_0x3d55a6=_0x292294;_0x494ea1=0xc8;}else{_0x494ea1=0xce;}_0x26ea9d[_0x5d4b('0x18')](_0x494ea1);return _0x26ea9d[_0x5d4b('0x1c')](_0x5d4b('0x1d'),_0x4978e5+'-'+_0x3d55a6+'/'+_0x292294)[_0x5d4b('0x1e')](_0x2da87f);}return null;};}function patchUpdates(_0x41f986){return function(_0x51cb49){try{jsonpatch['apply'](_0x51cb49,_0x41f986,!![]);}catch(_0x12869a){return BPromise[_0x5d4b('0x1f')](_0x12869a);}return _0x51cb49[_0x5d4b('0x20')]();};}function saveUpdates(_0x979c26,_0x3d7000){return function(_0x27b476){if(_0x27b476){return _0x27b476['update'](_0x979c26)[_0x5d4b('0x21')](function(_0x2bc6f0){return _0x2bc6f0;});}return null;};}function removeEntity(_0x2a41a1,_0x5c1b04){return function(_0xc964b8){if(_0xc964b8){return _0xc964b8['destroy']()[_0x5d4b('0x21')](function(){_0x2a41a1['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x162725,_0x190bf0){return function(_0x27b1bc){if(!_0x27b1bc){_0x162725[_0x5d4b('0x16')](0x194);}return _0x27b1bc;};}function handleError(_0x3bba30,_0x2e3255){_0x2e3255=_0x2e3255||0x1f4;return function(_0x421c93){logger[_0x5d4b('0x22')](_0x421c93[_0x5d4b('0x23')]);if(_0x421c93[_0x5d4b('0x24')]){delete _0x421c93[_0x5d4b('0x24')];}_0x3bba30['status'](_0x2e3255)[_0x5d4b('0x25')](_0x421c93);};}exports[_0x5d4b('0x26')]=function(_0x1346f6,_0x294c8f){var _0x498c1d={},_0x477600={},_0x157455={'count':0x0,'rows':[]};var _0x3efa6a=_['map'](db[_0x5d4b('0x27')]['rawAttributes'],function(_0x590fac){return{'name':_0x590fac['fieldName'],'type':_0x590fac[_0x5d4b('0x28')][_0x5d4b('0x29')]};});_0x477600[_0x5d4b('0x2a')]=_[_0x5d4b('0x2b')](_0x3efa6a,_0x5d4b('0x24'));_0x477600[_0x5d4b('0x2c')]=_[_0x5d4b('0x2d')](_0x1346f6['query']);_0x477600['filters']=_['intersection'](_0x477600[_0x5d4b('0x2a')],_0x477600[_0x5d4b('0x2c')]);_0x498c1d[_0x5d4b('0x2e')]=_[_0x5d4b('0x2f')](_0x477600[_0x5d4b('0x2a')],qs['fields'](_0x1346f6[_0x5d4b('0x2c')][_0x5d4b('0x30')]));_0x498c1d[_0x5d4b('0x2e')]=_0x498c1d['attributes'][_0x5d4b('0x31')]?_0x498c1d[_0x5d4b('0x2e')]:_0x477600[_0x5d4b('0x2a')];if(!_0x1346f6[_0x5d4b('0x2c')]['hasOwnProperty'](_0x5d4b('0x32'))){_0x498c1d[_0x5d4b('0x33')]=qs[_0x5d4b('0x33')](_0x1346f6[_0x5d4b('0x2c')]['limit']);_0x498c1d['offset']=qs['offset'](_0x1346f6['query'][_0x5d4b('0x19')]);}_0x498c1d[_0x5d4b('0x34')]=qs[_0x5d4b('0x35')](_0x1346f6[_0x5d4b('0x2c')]['sort']);_0x498c1d[_0x5d4b('0x36')]=qs[_0x5d4b('0x37')](_[_0x5d4b('0x38')](_0x1346f6[_0x5d4b('0x2c')],_0x477600['filters']),_0x3efa6a);if(_0x1346f6[_0x5d4b('0x2c')][_0x5d4b('0x39')]){_0x498c1d[_0x5d4b('0x36')]=_['merge'](_0x498c1d['where'],{'$or':_[_0x5d4b('0x2b')](_0x3efa6a,function(_0x9a1efd){if(_0x9a1efd[_0x5d4b('0x28')]!==_0x5d4b('0x3a')){var _0x213e5a={};_0x213e5a[_0x9a1efd[_0x5d4b('0x24')]]={'$like':'%'+_0x1346f6['query']['filter']+'%'};return _0x213e5a;}})});}_0x498c1d=_[_0x5d4b('0x3b')]({},_0x498c1d,_0x1346f6[_0x5d4b('0x3c')]);var _0x49623a={'where':_0x498c1d[_0x5d4b('0x36')]};return db[_0x5d4b('0x27')][_0x5d4b('0x1b')](_0x49623a)[_0x5d4b('0x21')](function(_0x13d534){_0x157455[_0x5d4b('0x1b')]=_0x13d534;if(_0x1346f6[_0x5d4b('0x2c')][_0x5d4b('0x3d')]){_0x498c1d[_0x5d4b('0x3e')]=[{'all':!![]}];}return db['SquareRecording'][_0x5d4b('0x3f')](_0x498c1d);})[_0x5d4b('0x21')](function(_0x1188db){_0x157455[_0x5d4b('0x40')]=_0x1188db;return _0x157455;})[_0x5d4b('0x21')](respondWithFilteredResult(_0x294c8f,_0x498c1d))['catch'](handleError(_0x294c8f,null));};exports[_0x5d4b('0x41')]=function(_0x36f920,_0x2d726d){var _0x337e08={'raw':!![],'where':{'id':_0x36f920['params']['id']}},_0x4999ea={};_0x4999ea[_0x5d4b('0x2a')]=_[_0x5d4b('0x2d')](db['SquareRecording'][_0x5d4b('0x42')]);_0x4999ea[_0x5d4b('0x2c')]=_[_0x5d4b('0x2d')](_0x36f920[_0x5d4b('0x2c')]);_0x4999ea[_0x5d4b('0x37')]=_[_0x5d4b('0x2f')](_0x4999ea[_0x5d4b('0x2a')],_0x4999ea[_0x5d4b('0x2c')]);_0x337e08[_0x5d4b('0x2e')]=_[_0x5d4b('0x2f')](_0x4999ea['model'],qs[_0x5d4b('0x30')](_0x36f920['query'][_0x5d4b('0x30')]));_0x337e08[_0x5d4b('0x2e')]=_0x337e08[_0x5d4b('0x2e')][_0x5d4b('0x31')]?_0x337e08[_0x5d4b('0x2e')]:_0x4999ea['model'];if(_0x36f920['query']['includeAll']){_0x337e08[_0x5d4b('0x3e')]=[{'all':!![]}];}_0x337e08=_['merge']({},_0x337e08,_0x36f920[_0x5d4b('0x3c')]);return db[_0x5d4b('0x27')][_0x5d4b('0x43')](_0x337e08)[_0x5d4b('0x21')](handleEntityNotFound(_0x2d726d,null))[_0x5d4b('0x21')](respondWithResult(_0x2d726d,null))[_0x5d4b('0x44')](handleError(_0x2d726d,null));};exports[_0x5d4b('0x45')]=function(_0x481494,_0x35070a){return db[_0x5d4b('0x27')][_0x5d4b('0x45')](_0x481494['body'],{})[_0x5d4b('0x21')](respondWithResult(_0x35070a,0xc9))['catch'](handleError(_0x35070a,null));};exports[_0x5d4b('0x46')]=function(_0x1b1d87,_0x47102f){if(_0x1b1d87[_0x5d4b('0x47')]['id']){delete _0x1b1d87[_0x5d4b('0x47')]['id'];}return db['SquareRecording'][_0x5d4b('0x43')]({'where':{'id':_0x1b1d87[_0x5d4b('0x48')]['id']}})[_0x5d4b('0x21')](handleEntityNotFound(_0x47102f,null))[_0x5d4b('0x21')](saveUpdates(_0x1b1d87[_0x5d4b('0x47')],null))[_0x5d4b('0x21')](respondWithResult(_0x47102f,null))[_0x5d4b('0x44')](handleError(_0x47102f,null));};exports[_0x5d4b('0x49')]=function(_0x469d71,_0x2c15a8,_0x501da6){var _0xdf7b3d=require(_0x5d4b('0x4a'));var _0x5636e2=![];var _0x31050d={};if(_0x469d71[_0x5d4b('0x2c')][_0x5d4b('0x28')]&&_0x469d71[_0x5d4b('0x2c')]['type']==='uniqueid'){_0x31050d['uniqueid']=_0x469d71[_0x5d4b('0x48')]['id'];}else{_0x31050d['id']=_0x469d71['params']['id'];}return db['SquareRecording'][_0x5d4b('0x43')]({'where':_0x31050d,'attributes':['id',_0x5d4b('0x4b'),'filename'],'raw':!![]})[_0x5d4b('0x21')](handleEntityNotFound(_0x2c15a8,null))[_0x5d4b('0x21')](function(_0x12d141){if(_0x12d141){var _0x2d4448=_0x12d141['savePath'];var _0x81c6d5=util[_0x5d4b('0x4c')](_0x5d4b('0x4d'),_0x2d4448);if(fs['existsSync'](_0x81c6d5)){_0x5636e2=!![];return _0xdf7b3d[_0x5d4b('0x4e')](_0x81c6d5,_0x2d4448,config['secrets'][_0x5d4b('0x4f')])[_0x5d4b('0x21')](function(){return _0x12d141;});}return _0x12d141;}})[_0x5d4b('0x21')](function(_0x18abe0){if(_0x18abe0){var _0x451816=_0x18abe0[_0x5d4b('0x4b')];if(!fs[_0x5d4b('0x50')](_0x451816)){throw new db[(_0x5d4b('0x51'))][(_0x5d4b('0x52'))](_0x5d4b('0x53'));}if(_0x18abe0[_0x5d4b('0x54')]){return _0x2c15a8[_0x5d4b('0x49')](_0x451816,_0x18abe0['filename']+path[_0x5d4b('0x55')](_0x451816),function(){if(_0x5636e2){fs[_0x5d4b('0x56')](_0x451816);}});}else{return _0x2c15a8[_0x5d4b('0x49')](_0x451816,function(_0x5de944){if(_0x5636e2){fs[_0x5d4b('0x56')](_0x451816);}});}}})['catch'](function(_0x4b706a){if(_0x4b706a['message']===_0x5d4b('0x53')){_0x2c15a8[_0x5d4b('0x18')](0x194)[_0x5d4b('0x25')](_0x5d4b('0x57'));}else{return handleError(_0x2c15a8,null);}});};exports[_0x5d4b('0x58')]=function(_0x2847e3,_0x45c7c5){return db[_0x5d4b('0x27')]['find']({'where':{'id':_0x2847e3[_0x5d4b('0x48')]['id']}})[_0x5d4b('0x21')](function(_0x4c2161){if(_[_0x5d4b('0x59')](_0x4c2161)){throw new ReferenceError(_0x5d4b('0x5a'));}return _0x4c2161;})[_0x5d4b('0x21')](function(_0x4b3854){var _0x1b99de=_0x4b3854['savePath'];logger['info'](_0x5d4b('0x5b'),_0x1b99de);if(!_['isNil'](_0x4b3854['savePath'])&&fs[_0x5d4b('0x50')](_0x1b99de)){logger[_0x5d4b('0x5c')](_0x5d4b('0x5d')+_0x1b99de+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x5d4b('0x5e')](_0x1b99de);}_0x1b99de=_0x1b99de+_0x5d4b('0x5f');if(!_[_0x5d4b('0x59')](_0x4b3854['savePath'])&&fs['existsSync'](_0x1b99de)){logger[_0x5d4b('0x5c')](_0x5d4b('0x5d')+_0x1b99de+_0x5d4b('0x60'));fs[_0x5d4b('0x5e')](_0x1b99de);}return _0x4b3854;})[_0x5d4b('0x21')](function(_0x45ed71){if(!_0x45ed71)throw new InternalError();return _0x45ed71[_0x5d4b('0x58')]();})['then'](function(){_0x45c7c5[_0x5d4b('0x18')](0xcc)[_0x5d4b('0x17')]();})[_0x5d4b('0x44')](handleError(_0x45c7c5,null));};