6fa420ef254e38d8c9b7a98d16f48440937cae7c
[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 _0xa9d1=['info','existsSync','File:\x20\x22','unlinkSync','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','fs-extra','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','reject','then','stack','name','index','map','SquareRecording','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','includeAll','include','findAll','rows','catch','params','keys','find','create','body','update','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','unlink','download','message','send','Not\x20found','destroy','isNil'];(function(_0x1035c1,_0x2d8583){var _0x308d67=function(_0x58ddb6){while(--_0x58ddb6){_0x1035c1['push'](_0x1035c1['shift']());}};_0x308d67(++_0x2d8583);}(_0xa9d1,0x1e6));var _0x1a9d=function(_0x1fa43b,_0x1fd864){_0x1fa43b=_0x1fa43b-0x0;var _0x16c0cb=_0xa9d1[_0x1fa43b];return _0x16c0cb;};'use strict';var emlformat=require(_0x1a9d('0x0'));var rimraf=require(_0x1a9d('0x1'));var zipdir=require(_0x1a9d('0x2'));var jsonpatch=require(_0x1a9d('0x3'));var rp=require(_0x1a9d('0x4'));var moment=require(_0x1a9d('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x1a9d('0x6'));var path=require(_0x1a9d('0x7'));var sox=require(_0x1a9d('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1a9d('0x9'));var _=require('lodash');var squel=require(_0x1a9d('0xa'));var crypto=require(_0x1a9d('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x1a9d('0xc'));var toCsv=require(_0x1a9d('0xd'));var querystring=require(_0x1a9d('0xe'));var Papa=require(_0x1a9d('0xf'));var Redis=require(_0x1a9d('0x10'));var authService=require(_0x1a9d('0x11'));var qs=require(_0x1a9d('0x12'));var as=require(_0x1a9d('0x13'));var hardwareService=require(_0x1a9d('0x14'));var logger=require(_0x1a9d('0x15'))('api');var utils=require(_0x1a9d('0x16'));var config=require(_0x1a9d('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x1a9d('0x18'))['db'];function respondWithStatusCode(_0x1a9d95,_0x4a9417){_0x4a9417=_0x4a9417||0xcc;return function(_0xaab143){if(_0xaab143){return _0x1a9d95[_0x1a9d('0x19')](_0x4a9417);}return _0x1a9d95[_0x1a9d('0x1a')](_0x4a9417)[_0x1a9d('0x1b')]();};}function respondWithResult(_0x46fc8a,_0x5353d3){_0x5353d3=_0x5353d3||0xc8;return function(_0x2eafa1){if(_0x2eafa1){return _0x46fc8a['status'](_0x5353d3)[_0x1a9d('0x1c')](_0x2eafa1);}};}function respondWithFilteredResult(_0x196db0,_0x121d5f){return function(_0x5dd237){if(_0x5dd237){var _0x363dbe=typeof _0x121d5f[_0x1a9d('0x1d')]==='undefined'&&typeof _0x121d5f[_0x1a9d('0x1e')]===_0x1a9d('0x1f');var _0x50d59b=_0x5dd237[_0x1a9d('0x20')];var _0xcbc816=_0x363dbe?0x0:_0x121d5f['offset'];var _0x230976=_0x363dbe?_0x5dd237[_0x1a9d('0x20')]:_0x121d5f[_0x1a9d('0x1d')]+_0x121d5f['limit'];var _0x4b2664;if(_0x230976>=_0x50d59b){_0x230976=_0x50d59b;_0x4b2664=0xc8;}else{_0x4b2664=0xce;}_0x196db0[_0x1a9d('0x1a')](_0x4b2664);return _0x196db0[_0x1a9d('0x21')](_0x1a9d('0x22'),_0xcbc816+'-'+_0x230976+'/'+_0x50d59b)[_0x1a9d('0x1c')](_0x5dd237);}return null;};}function patchUpdates(_0x34af28){return function(_0x4a94d5){try{jsonpatch['apply'](_0x4a94d5,_0x34af28,!![]);}catch(_0x317109){return BPromise[_0x1a9d('0x23')](_0x317109);}return _0x4a94d5['save']();};}function saveUpdates(_0x42588e,_0x30a602){return function(_0x28690c){if(_0x28690c){return _0x28690c['update'](_0x42588e)[_0x1a9d('0x24')](function(_0x362c09){return _0x362c09;});}return null;};}function removeEntity(_0x2ccfc,_0x40321e){return function(_0x42e7f6){if(_0x42e7f6){return _0x42e7f6['destroy']()[_0x1a9d('0x24')](function(){_0x2ccfc[_0x1a9d('0x1a')](0xcc)[_0x1a9d('0x1b')]();});}};}function handleEntityNotFound(_0x25cd85,_0x2e3070){return function(_0x538b0f){if(!_0x538b0f){_0x25cd85[_0x1a9d('0x19')](0x194);}return _0x538b0f;};}function handleError(_0x2c04fa,_0x32db68){_0x32db68=_0x32db68||0x1f4;return function(_0x77efad){logger['error'](_0x77efad[_0x1a9d('0x25')]);if(_0x77efad[_0x1a9d('0x26')]){delete _0x77efad['name'];}_0x2c04fa[_0x1a9d('0x1a')](_0x32db68)['send'](_0x77efad);};}exports[_0x1a9d('0x27')]=function(_0x1e5443,_0x5c6ee3){var _0x19acb4={},_0x20308f={},_0x49e380={'count':0x0,'rows':[]};var _0x13dce0=_[_0x1a9d('0x28')](db[_0x1a9d('0x29')][_0x1a9d('0x2a')],function(_0x54448e){return{'name':_0x54448e[_0x1a9d('0x2b')],'type':_0x54448e[_0x1a9d('0x2c')][_0x1a9d('0x2d')]};});_0x20308f[_0x1a9d('0x2e')]=_[_0x1a9d('0x28')](_0x13dce0,_0x1a9d('0x26'));_0x20308f['query']=_['keys'](_0x1e5443[_0x1a9d('0x2f')]);_0x20308f[_0x1a9d('0x30')]=_[_0x1a9d('0x31')](_0x20308f[_0x1a9d('0x2e')],_0x20308f['query']);_0x19acb4[_0x1a9d('0x32')]=_[_0x1a9d('0x31')](_0x20308f['model'],qs[_0x1a9d('0x33')](_0x1e5443[_0x1a9d('0x2f')][_0x1a9d('0x33')]));_0x19acb4['attributes']=_0x19acb4[_0x1a9d('0x32')][_0x1a9d('0x34')]?_0x19acb4['attributes']:_0x20308f[_0x1a9d('0x2e')];if(!_0x1e5443[_0x1a9d('0x2f')]['hasOwnProperty'](_0x1a9d('0x35'))){_0x19acb4[_0x1a9d('0x1e')]=qs[_0x1a9d('0x1e')](_0x1e5443['query'][_0x1a9d('0x1e')]);_0x19acb4[_0x1a9d('0x1d')]=qs['offset'](_0x1e5443[_0x1a9d('0x2f')][_0x1a9d('0x1d')]);}_0x19acb4[_0x1a9d('0x36')]=qs[_0x1a9d('0x37')](_0x1e5443[_0x1a9d('0x2f')][_0x1a9d('0x37')]);_0x19acb4[_0x1a9d('0x38')]=qs[_0x1a9d('0x30')](_[_0x1a9d('0x39')](_0x1e5443[_0x1a9d('0x2f')],_0x20308f[_0x1a9d('0x30')]),_0x13dce0);if(_0x1e5443['query'][_0x1a9d('0x3a')]){_0x19acb4[_0x1a9d('0x38')]=_[_0x1a9d('0x3b')](_0x19acb4[_0x1a9d('0x38')],{'$or':_['map'](_0x13dce0,function(_0x2115f4){if(_0x2115f4[_0x1a9d('0x2c')]!=='VIRTUAL'){var _0x211a57={};_0x211a57[_0x2115f4['name']]={'$like':'%'+_0x1e5443[_0x1a9d('0x2f')]['filter']+'%'};return _0x211a57;}})});}_0x19acb4=_['merge']({},_0x19acb4,_0x1e5443['options']);var _0x59d8c5={'where':_0x19acb4[_0x1a9d('0x38')]};return db[_0x1a9d('0x29')]['count'](_0x59d8c5)[_0x1a9d('0x24')](function(_0x31d795){_0x49e380[_0x1a9d('0x20')]=_0x31d795;if(_0x1e5443[_0x1a9d('0x2f')][_0x1a9d('0x3c')]){_0x19acb4[_0x1a9d('0x3d')]=[{'all':!![]}];}return db[_0x1a9d('0x29')][_0x1a9d('0x3e')](_0x19acb4);})[_0x1a9d('0x24')](function(_0x101980){_0x49e380[_0x1a9d('0x3f')]=_0x101980;return _0x49e380;})['then'](respondWithFilteredResult(_0x5c6ee3,_0x19acb4))[_0x1a9d('0x40')](handleError(_0x5c6ee3,null));};exports['show']=function(_0x394bc2,_0x257c85){var _0x3eec0c={'raw':!![],'where':{'id':_0x394bc2[_0x1a9d('0x41')]['id']}},_0x1b83bb={};_0x1b83bb[_0x1a9d('0x2e')]=_[_0x1a9d('0x42')](db['SquareRecording'][_0x1a9d('0x2a')]);_0x1b83bb['query']=_[_0x1a9d('0x42')](_0x394bc2[_0x1a9d('0x2f')]);_0x1b83bb[_0x1a9d('0x30')]=_[_0x1a9d('0x31')](_0x1b83bb[_0x1a9d('0x2e')],_0x1b83bb[_0x1a9d('0x2f')]);_0x3eec0c[_0x1a9d('0x32')]=_[_0x1a9d('0x31')](_0x1b83bb['model'],qs['fields'](_0x394bc2[_0x1a9d('0x2f')]['fields']));_0x3eec0c[_0x1a9d('0x32')]=_0x3eec0c[_0x1a9d('0x32')]['length']?_0x3eec0c[_0x1a9d('0x32')]:_0x1b83bb['model'];if(_0x394bc2[_0x1a9d('0x2f')]['includeAll']){_0x3eec0c[_0x1a9d('0x3d')]=[{'all':!![]}];}_0x3eec0c=_[_0x1a9d('0x3b')]({},_0x3eec0c,_0x394bc2['options']);return db['SquareRecording'][_0x1a9d('0x43')](_0x3eec0c)[_0x1a9d('0x24')](handleEntityNotFound(_0x257c85,null))[_0x1a9d('0x24')](respondWithResult(_0x257c85,null))['catch'](handleError(_0x257c85,null));};exports[_0x1a9d('0x44')]=function(_0x233a7c,_0xa1fe8e){return db[_0x1a9d('0x29')][_0x1a9d('0x44')](_0x233a7c[_0x1a9d('0x45')],{})['then'](respondWithResult(_0xa1fe8e,0xc9))['catch'](handleError(_0xa1fe8e,null));};exports[_0x1a9d('0x46')]=function(_0x4a16d5,_0x265710){if(_0x4a16d5[_0x1a9d('0x45')]['id']){delete _0x4a16d5[_0x1a9d('0x45')]['id'];}return db['SquareRecording']['find']({'where':{'id':_0x4a16d5[_0x1a9d('0x41')]['id']}})['then'](handleEntityNotFound(_0x265710,null))[_0x1a9d('0x24')](saveUpdates(_0x4a16d5[_0x1a9d('0x45')],null))[_0x1a9d('0x24')](respondWithResult(_0x265710,null))[_0x1a9d('0x40')](handleError(_0x265710,null));};exports['download']=function(_0x37bdf8,_0x53c53f,_0x5c7dc0){var _0x22b6e6=require(_0x1a9d('0x47'));var _0xf0ccfb=![];var _0xd8dc88={};if(_0x37bdf8[_0x1a9d('0x2f')][_0x1a9d('0x2c')]&&_0x37bdf8[_0x1a9d('0x2f')][_0x1a9d('0x2c')]===_0x1a9d('0x48')){_0xd8dc88[_0x1a9d('0x48')]=_0x37bdf8[_0x1a9d('0x41')]['id'];}else{_0xd8dc88['id']=_0x37bdf8[_0x1a9d('0x41')]['id'];}return db['SquareRecording'][_0x1a9d('0x43')]({'where':_0xd8dc88,'attributes':['id',_0x1a9d('0x49'),_0x1a9d('0x4a')],'raw':!![]})[_0x1a9d('0x24')](handleEntityNotFound(_0x53c53f,null))['then'](function(_0x1021db){if(_0x1021db){var _0x471e9b=_0x1021db[_0x1a9d('0x49')];var _0x65716c=util[_0x1a9d('0x4b')](_0x1a9d('0x4c'),_0x471e9b);if(fs['existsSync'](_0x65716c)){_0xf0ccfb=!![];return _0x22b6e6[_0x1a9d('0x4d')](_0x65716c,_0x471e9b,config[_0x1a9d('0x4e')][_0x1a9d('0x4f')])['then'](function(){return _0x1021db;});}return _0x1021db;}})[_0x1a9d('0x24')](function(_0x1c9359){if(_0x1c9359){var _0x202e9a=_0x1c9359[_0x1a9d('0x49')];if(!fs['existsSync'](_0x202e9a)){throw new db[(_0x1a9d('0x50'))][(_0x1a9d('0x51'))](_0x1a9d('0x52'));}if(_0x1c9359[_0x1a9d('0x4a')]){return _0x53c53f['download'](_0x202e9a,_0x1c9359[_0x1a9d('0x4a')]+path['extname'](_0x202e9a),function(){if(_0xf0ccfb){fs[_0x1a9d('0x53')](_0x202e9a);}});}else{return _0x53c53f[_0x1a9d('0x54')](_0x202e9a,function(_0x26ef45){if(_0xf0ccfb){fs[_0x1a9d('0x53')](_0x202e9a);}});}}})['catch'](function(_0x52cca2){if(_0x52cca2[_0x1a9d('0x55')]===_0x1a9d('0x52')){_0x53c53f['status'](0x194)[_0x1a9d('0x56')](_0x1a9d('0x57'));}else{return handleError(_0x53c53f,null);}});};exports[_0x1a9d('0x58')]=function(_0x908931,_0x312415){return db[_0x1a9d('0x29')][_0x1a9d('0x43')]({'where':{'id':_0x908931[_0x1a9d('0x41')]['id']}})[_0x1a9d('0x24')](function(_0x32ff9c){if(_[_0x1a9d('0x59')](_0x32ff9c)){throw new ReferenceError('Entity\x20not\x20found');}return _0x32ff9c;})[_0x1a9d('0x24')](function(_0x5b89eb){var _0x209012=_0x5b89eb['savePath'];logger[_0x1a9d('0x5a')]('cancellazione\x20fisica\x20documento\x20%s',_0x209012);if(!_[_0x1a9d('0x59')](_0x5b89eb[_0x1a9d('0x49')])&&fs[_0x1a9d('0x5b')](_0x209012)){logger[_0x1a9d('0x5a')](_0x1a9d('0x5c')+_0x209012+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x1a9d('0x5d')](_0x209012);}_0x209012=_0x209012+_0x1a9d('0x5e');if(!_[_0x1a9d('0x59')](_0x5b89eb['savePath'])&&fs['existsSync'](_0x209012)){logger['info'](_0x1a9d('0x5c')+_0x209012+_0x1a9d('0x5f'));fs[_0x1a9d('0x5d')](_0x209012);}return _0x5b89eb;})[_0x1a9d('0x24')](function(_0x597d91){if(!_0x597d91)throw new InternalError();return _0x597d91[_0x1a9d('0x58')]();})[_0x1a9d('0x24')](function(){_0x312415[_0x1a9d('0x1a')](0xcc)['end']();})[_0x1a9d('0x40')](handleError(_0x312415,null));};