285a22b8e52790eee3fdf572173b1d97a2320f47
[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 _0x8f93=['Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','merge','where','VIRTUAL','options','SquareRecording','includeAll','include','findAll','rows','show','catch','create','body','find','params','download','../../components/encryptor','uniqueid','savePath','format','%s.cypher','decryptFile','secrets','recording','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','unlink','Not\x20found','destroy','isNil','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','jsforce','to-csv','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set'];(function(_0x1de43c,_0xaa29de){var _0x296d3e=function(_0x50b76f){while(--_0x50b76f){_0x1de43c['push'](_0x1de43c['shift']());}};_0x296d3e(++_0xaa29de);}(_0x8f93,0xa7));var _0x38f9=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0x8f93[_0xfae23b];return _0x200640;};'use strict';var emlformat=require(_0x38f9('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x38f9('0x1'));var jsonpatch=require(_0x38f9('0x2'));var rp=require(_0x38f9('0x3'));var moment=require(_0x38f9('0x4'));var BPromise=require(_0x38f9('0x5'));var Mustache=require(_0x38f9('0x6'));var util=require(_0x38f9('0x7'));var path=require(_0x38f9('0x8'));var sox=require(_0x38f9('0x9'));var csv=require('to-csv');var ejs=require(_0x38f9('0xa'));var fs=require('fs');var fs_extra=require(_0x38f9('0xb'));var _=require('lodash');var squel=require(_0x38f9('0xc'));var crypto=require('crypto');var jsforce=require(_0x38f9('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x38f9('0xe'));var querystring=require('querystring');var Papa=require(_0x38f9('0xf'));var Redis=require(_0x38f9('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x38f9('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x38f9('0x12'))(_0x38f9('0x13'));var utils=require(_0x38f9('0x14'));var config=require(_0x38f9('0x15'));var licenseUtil=require(_0x38f9('0x16'));var db=require(_0x38f9('0x17'))['db'];function respondWithStatusCode(_0x1ef268,_0x476af0){_0x476af0=_0x476af0||0xcc;return function(_0x32b5db){if(_0x32b5db){return _0x1ef268[_0x38f9('0x18')](_0x476af0);}return _0x1ef268[_0x38f9('0x19')](_0x476af0)[_0x38f9('0x1a')]();};}function respondWithResult(_0x5e2192,_0x5e639f){_0x5e639f=_0x5e639f||0xc8;return function(_0x45dbd8){if(_0x45dbd8){return _0x5e2192['status'](_0x5e639f)[_0x38f9('0x1b')](_0x45dbd8);}};}function respondWithFilteredResult(_0x47e599,_0x40b8b5){return function(_0x1ab957){if(_0x1ab957){var _0x37b853=typeof _0x40b8b5[_0x38f9('0x1c')]===_0x38f9('0x1d')&&typeof _0x40b8b5[_0x38f9('0x1e')]===_0x38f9('0x1d');var _0x23b393=_0x1ab957[_0x38f9('0x1f')];var _0x118524=_0x37b853?0x0:_0x40b8b5[_0x38f9('0x1c')];var _0x5c0acb=_0x37b853?_0x1ab957[_0x38f9('0x1f')]:_0x40b8b5['offset']+_0x40b8b5[_0x38f9('0x1e')];var _0x49b8f1;if(_0x5c0acb>=_0x23b393){_0x5c0acb=_0x23b393;_0x49b8f1=0xc8;}else{_0x49b8f1=0xce;}_0x47e599[_0x38f9('0x19')](_0x49b8f1);return _0x47e599[_0x38f9('0x20')](_0x38f9('0x21'),_0x118524+'-'+_0x5c0acb+'/'+_0x23b393)[_0x38f9('0x1b')](_0x1ab957);}return null;};}function patchUpdates(_0x2bc722){return function(_0x15ae01){try{jsonpatch[_0x38f9('0x22')](_0x15ae01,_0x2bc722,!![]);}catch(_0x3c5e48){return BPromise[_0x38f9('0x23')](_0x3c5e48);}return _0x15ae01[_0x38f9('0x24')]();};}function saveUpdates(_0x109f00,_0x57e49f){return function(_0x585480){if(_0x585480){return _0x585480[_0x38f9('0x25')](_0x109f00)[_0x38f9('0x26')](function(_0x3fa78f){return _0x3fa78f;});}return null;};}function removeEntity(_0x3c3166,_0x242ca6){return function(_0x1b7a1e){if(_0x1b7a1e){return _0x1b7a1e['destroy']()[_0x38f9('0x26')](function(){_0x3c3166[_0x38f9('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x49147e,_0x273474){return function(_0x4610e5){if(!_0x4610e5){_0x49147e['sendStatus'](0x194);}return _0x4610e5;};}function handleError(_0x23beb2,_0x3ce747){_0x3ce747=_0x3ce747||0x1f4;return function(_0x514f2f){logger[_0x38f9('0x27')](_0x514f2f[_0x38f9('0x28')]);if(_0x514f2f[_0x38f9('0x29')]){delete _0x514f2f[_0x38f9('0x29')];}_0x23beb2[_0x38f9('0x19')](_0x3ce747)[_0x38f9('0x2a')](_0x514f2f);};}exports[_0x38f9('0x2b')]=function(_0x1617eb,_0x15e3ec){var _0x58ded8={},_0xd89189={},_0x1a9c36={'count':0x0,'rows':[]};var _0x252da1=_[_0x38f9('0x2c')](db['SquareRecording'][_0x38f9('0x2d')],function(_0x47e76f){return{'name':_0x47e76f['fieldName'],'type':_0x47e76f[_0x38f9('0x2e')][_0x38f9('0x2f')]};});_0xd89189[_0x38f9('0x30')]=_[_0x38f9('0x2c')](_0x252da1,_0x38f9('0x29'));_0xd89189['query']=_[_0x38f9('0x31')](_0x1617eb[_0x38f9('0x32')]);_0xd89189[_0x38f9('0x33')]=_[_0x38f9('0x34')](_0xd89189[_0x38f9('0x30')],_0xd89189[_0x38f9('0x32')]);_0x58ded8[_0x38f9('0x35')]=_[_0x38f9('0x34')](_0xd89189[_0x38f9('0x30')],qs[_0x38f9('0x36')](_0x1617eb['query'][_0x38f9('0x36')]));_0x58ded8[_0x38f9('0x35')]=_0x58ded8[_0x38f9('0x35')][_0x38f9('0x37')]?_0x58ded8[_0x38f9('0x35')]:_0xd89189[_0x38f9('0x30')];if(!_0x1617eb[_0x38f9('0x32')][_0x38f9('0x38')](_0x38f9('0x39'))){_0x58ded8['limit']=qs[_0x38f9('0x1e')](_0x1617eb[_0x38f9('0x32')][_0x38f9('0x1e')]);_0x58ded8[_0x38f9('0x1c')]=qs[_0x38f9('0x1c')](_0x1617eb['query'][_0x38f9('0x1c')]);}_0x58ded8[_0x38f9('0x3a')]=qs[_0x38f9('0x3b')](_0x1617eb['query']['sort']);_0x58ded8['where']=qs[_0x38f9('0x33')](_['pick'](_0x1617eb[_0x38f9('0x32')],_0xd89189[_0x38f9('0x33')]),_0x252da1);if(_0x1617eb['query'][_0x38f9('0x3c')]){_0x58ded8['where']=_[_0x38f9('0x3d')](_0x58ded8[_0x38f9('0x3e')],{'$or':_[_0x38f9('0x2c')](_0x252da1,function(_0x58ba4e){if(_0x58ba4e[_0x38f9('0x2e')]!==_0x38f9('0x3f')){var _0x1af723={};_0x1af723[_0x58ba4e[_0x38f9('0x29')]]={'$like':'%'+_0x1617eb[_0x38f9('0x32')][_0x38f9('0x3c')]+'%'};return _0x1af723;}})});}_0x58ded8=_[_0x38f9('0x3d')]({},_0x58ded8,_0x1617eb[_0x38f9('0x40')]);var _0x2c59a9={'where':_0x58ded8[_0x38f9('0x3e')]};return db[_0x38f9('0x41')]['count'](_0x2c59a9)[_0x38f9('0x26')](function(_0x2af3e7){_0x1a9c36[_0x38f9('0x1f')]=_0x2af3e7;if(_0x1617eb[_0x38f9('0x32')][_0x38f9('0x42')]){_0x58ded8[_0x38f9('0x43')]=[{'all':!![]}];}return db[_0x38f9('0x41')][_0x38f9('0x44')](_0x58ded8);})[_0x38f9('0x26')](function(_0x308910){_0x1a9c36[_0x38f9('0x45')]=_0x308910;return _0x1a9c36;})[_0x38f9('0x26')](respondWithFilteredResult(_0x15e3ec,_0x58ded8))['catch'](handleError(_0x15e3ec,null));};exports[_0x38f9('0x46')]=function(_0x5ea141,_0x5184fd){var _0x33aaf9={'raw':!![],'where':{'id':_0x5ea141['params']['id']}},_0x3907da={};_0x3907da['model']=_[_0x38f9('0x31')](db[_0x38f9('0x41')][_0x38f9('0x2d')]);_0x3907da[_0x38f9('0x32')]=_[_0x38f9('0x31')](_0x5ea141['query']);_0x3907da[_0x38f9('0x33')]=_[_0x38f9('0x34')](_0x3907da[_0x38f9('0x30')],_0x3907da[_0x38f9('0x32')]);_0x33aaf9[_0x38f9('0x35')]=_[_0x38f9('0x34')](_0x3907da[_0x38f9('0x30')],qs['fields'](_0x5ea141['query'][_0x38f9('0x36')]));_0x33aaf9[_0x38f9('0x35')]=_0x33aaf9[_0x38f9('0x35')]['length']?_0x33aaf9[_0x38f9('0x35')]:_0x3907da[_0x38f9('0x30')];if(_0x5ea141['query'][_0x38f9('0x42')]){_0x33aaf9['include']=[{'all':!![]}];}_0x33aaf9=_[_0x38f9('0x3d')]({},_0x33aaf9,_0x5ea141[_0x38f9('0x40')]);return db[_0x38f9('0x41')]['find'](_0x33aaf9)[_0x38f9('0x26')](handleEntityNotFound(_0x5184fd,null))[_0x38f9('0x26')](respondWithResult(_0x5184fd,null))[_0x38f9('0x47')](handleError(_0x5184fd,null));};exports[_0x38f9('0x48')]=function(_0x530cec,_0x2a6f26){return db[_0x38f9('0x41')][_0x38f9('0x48')](_0x530cec[_0x38f9('0x49')],{})[_0x38f9('0x26')](respondWithResult(_0x2a6f26,0xc9))[_0x38f9('0x47')](handleError(_0x2a6f26,null));};exports[_0x38f9('0x25')]=function(_0x2e3c13,_0x54aea6){if(_0x2e3c13[_0x38f9('0x49')]['id']){delete _0x2e3c13[_0x38f9('0x49')]['id'];}return db[_0x38f9('0x41')][_0x38f9('0x4a')]({'where':{'id':_0x2e3c13[_0x38f9('0x4b')]['id']}})['then'](handleEntityNotFound(_0x54aea6,null))[_0x38f9('0x26')](saveUpdates(_0x2e3c13['body'],null))[_0x38f9('0x26')](respondWithResult(_0x54aea6,null))[_0x38f9('0x47')](handleError(_0x54aea6,null));};exports[_0x38f9('0x4c')]=function(_0x5ed791,_0x1203a4,_0x402629){var _0x48afd7=require(_0x38f9('0x4d'));var _0x5a26ac=![];var _0x165d94={};if(_0x5ed791['query'][_0x38f9('0x2e')]&&_0x5ed791[_0x38f9('0x32')][_0x38f9('0x2e')]===_0x38f9('0x4e')){_0x165d94['uniqueid']=_0x5ed791[_0x38f9('0x4b')]['id'];}else{_0x165d94['id']=_0x5ed791[_0x38f9('0x4b')]['id'];}return db['SquareRecording'][_0x38f9('0x4a')]({'where':_0x165d94,'attributes':['id','savePath','filename'],'raw':!![]})['then'](handleEntityNotFound(_0x1203a4,null))[_0x38f9('0x26')](function(_0x1fb1cd){if(_0x1fb1cd){var _0x4c6c8b=_0x1fb1cd[_0x38f9('0x4f')];var _0xb650c0=util[_0x38f9('0x50')](_0x38f9('0x51'),_0x4c6c8b);if(fs['existsSync'](_0xb650c0)){_0x5a26ac=!![];return _0x48afd7[_0x38f9('0x52')](_0xb650c0,_0x4c6c8b,config[_0x38f9('0x53')][_0x38f9('0x54')])[_0x38f9('0x26')](function(){return _0x1fb1cd;});}return _0x1fb1cd;}})[_0x38f9('0x26')](function(_0x39e66c){if(_0x39e66c){var _0x4a9b81=_0x39e66c['savePath'];if(!fs[_0x38f9('0x55')](_0x4a9b81)){throw new db[(_0x38f9('0x56'))][(_0x38f9('0x57'))](_0x38f9('0x58'));}if(_0x39e66c['filename']){return _0x1203a4['download'](_0x4a9b81,_0x39e66c[_0x38f9('0x59')]+path['extname'](_0x4a9b81),function(){if(_0x5a26ac){fs[_0x38f9('0x5a')](_0x4a9b81);}});}else{return _0x1203a4['download'](_0x4a9b81,function(_0x3e2c76){if(_0x5a26ac){fs[_0x38f9('0x5a')](_0x4a9b81);}});}}})[_0x38f9('0x47')](function(_0x5666d7){if(_0x5666d7['message']===_0x38f9('0x58')){_0x1203a4['status'](0x194)['send'](_0x38f9('0x5b'));}else{return handleError(_0x1203a4,null);}});};exports[_0x38f9('0x5c')]=function(_0x41cd4b,_0x2a59b1){return db['SquareRecording'][_0x38f9('0x4a')]({'where':{'id':_0x41cd4b[_0x38f9('0x4b')]['id']}})[_0x38f9('0x26')](function(_0x437cd1){if(_[_0x38f9('0x5d')](_0x437cd1)){throw new ReferenceError('Entity\x20not\x20found');}return _0x437cd1;})[_0x38f9('0x26')](function(_0x3a73b9){var _0x3fc5b3=_0x3a73b9['savePath'];logger[_0x38f9('0x5e')](_0x38f9('0x5f'),_0x3fc5b3);if(!_[_0x38f9('0x5d')](_0x3a73b9[_0x38f9('0x4f')])&&fs['existsSync'](_0x3fc5b3)){logger['info'](_0x38f9('0x60')+_0x3fc5b3+_0x38f9('0x61'));fs['unlinkSync'](_0x3fc5b3);}_0x3fc5b3=_0x3fc5b3+_0x38f9('0x62');if(!_[_0x38f9('0x5d')](_0x3a73b9['savePath'])&&fs['existsSync'](_0x3fc5b3)){logger[_0x38f9('0x5e')](_0x38f9('0x60')+_0x3fc5b3+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x38f9('0x63')](_0x3fc5b3);}return _0x3a73b9;})[_0x38f9('0x26')](function(_0x41e7f0){if(!_0x41e7f0)throw new InternalError();return _0x41e7f0['destroy']();})[_0x38f9('0x26')](function(){_0x2a59b1[_0x38f9('0x19')](0xcc)['end']();})['catch'](handleError(_0x2a59b1,null));};