9b3e2f4b679cee4a3cc171bbaf36d6d3dd2fc543
[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 _0xccdb=['filter','merge','include','findAll','catch','show','params','intersection','includeAll','options','create','body','download','../../components/encryptor','uniqueid','find','savePath','filename','format','%s.cypher','decryptFile','secrets','recording','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','message','isNil','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','.cypher','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','zip-dir','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','offset','limit','undefined','count','set','Content-Range','json','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','model','query','keys','filters','attributes','fields','length','nolimit','sort','where','pick'];(function(_0x3a2a3c,_0x37bd31){var _0x50ac9a=function(_0x494a7f){while(--_0x494a7f){_0x3a2a3c['push'](_0x3a2a3c['shift']());}};_0x50ac9a(++_0x37bd31);}(_0xccdb,0x149));var _0xbccd=function(_0x299bdb,_0x2b5758){_0x299bdb=_0x299bdb-0x0;var _0x593569=_0xccdb[_0x299bdb];return _0x593569;};'use strict';var emlformat=require(_0xbccd('0x0'));var rimraf=require(_0xbccd('0x1'));var zipdir=require(_0xbccd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xbccd('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xbccd('0x4'));var util=require(_0xbccd('0x5'));var path=require(_0xbccd('0x6'));var sox=require(_0xbccd('0x7'));var csv=require(_0xbccd('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xbccd('0x9'));var _=require(_0xbccd('0xa'));var squel=require(_0xbccd('0xb'));var crypto=require(_0xbccd('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xbccd('0x8'));var querystring=require(_0xbccd('0xd'));var Papa=require(_0xbccd('0xe'));var Redis=require(_0xbccd('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xbccd('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbccd('0x11'));var logger=require(_0xbccd('0x12'))(_0xbccd('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xbccd('0x14'));var db=require(_0xbccd('0x15'))['db'];function respondWithStatusCode(_0x1d56a7,_0x44d415){_0x44d415=_0x44d415||0xcc;return function(_0xb7c21c){if(_0xb7c21c){return _0x1d56a7[_0xbccd('0x16')](_0x44d415);}return _0x1d56a7[_0xbccd('0x17')](_0x44d415)['end']();};}function respondWithResult(_0x1d53cd,_0x88b557){_0x88b557=_0x88b557||0xc8;return function(_0x205940){if(_0x205940){return _0x1d53cd[_0xbccd('0x17')](_0x88b557)['json'](_0x205940);}};}function respondWithFilteredResult(_0x302506,_0x3a870a){return function(_0x463236){if(_0x463236){var _0x45c798=typeof _0x3a870a[_0xbccd('0x18')]==='undefined'&&typeof _0x3a870a[_0xbccd('0x19')]===_0xbccd('0x1a');var _0x4f7cc9=_0x463236[_0xbccd('0x1b')];var _0x153960=_0x45c798?0x0:_0x3a870a['offset'];var _0x18b1fa=_0x45c798?_0x463236[_0xbccd('0x1b')]:_0x3a870a[_0xbccd('0x18')]+_0x3a870a['limit'];var _0x51b65f;if(_0x18b1fa>=_0x4f7cc9){_0x18b1fa=_0x4f7cc9;_0x51b65f=0xc8;}else{_0x51b65f=0xce;}_0x302506[_0xbccd('0x17')](_0x51b65f);return _0x302506[_0xbccd('0x1c')](_0xbccd('0x1d'),_0x153960+'-'+_0x18b1fa+'/'+_0x4f7cc9)[_0xbccd('0x1e')](_0x463236);}return null;};}function patchUpdates(_0x2fea92){return function(_0xd59f0c){try{jsonpatch[_0xbccd('0x1f')](_0xd59f0c,_0x2fea92,!![]);}catch(_0x31bc31){return BPromise[_0xbccd('0x20')](_0x31bc31);}return _0xd59f0c[_0xbccd('0x21')]();};}function saveUpdates(_0x6997d9,_0x510401){return function(_0x401146){if(_0x401146){return _0x401146[_0xbccd('0x22')](_0x6997d9)[_0xbccd('0x23')](function(_0x1acccc){return _0x1acccc;});}return null;};}function removeEntity(_0x148b8b,_0x454786){return function(_0x30b226){if(_0x30b226){return _0x30b226[_0xbccd('0x24')]()[_0xbccd('0x23')](function(){_0x148b8b['status'](0xcc)[_0xbccd('0x25')]();});}};}function handleEntityNotFound(_0x1942a3,_0x2ccb08){return function(_0x44d1ca){if(!_0x44d1ca){_0x1942a3[_0xbccd('0x16')](0x194);}return _0x44d1ca;};}function handleError(_0x32f64e,_0x24e873){_0x24e873=_0x24e873||0x1f4;return function(_0x2cbe08){logger[_0xbccd('0x26')](_0x2cbe08[_0xbccd('0x27')]);if(_0x2cbe08[_0xbccd('0x28')]){delete _0x2cbe08[_0xbccd('0x28')];}_0x32f64e[_0xbccd('0x17')](_0x24e873)[_0xbccd('0x29')](_0x2cbe08);};}exports[_0xbccd('0x2a')]=function(_0x5693f0,_0x24d7b4){var _0x278877={},_0x21b921={},_0x527025={'count':0x0,'rows':[]};var _0x257fb9=_[_0xbccd('0x2b')](db[_0xbccd('0x2c')][_0xbccd('0x2d')],function(_0x68dac5){return{'name':_0x68dac5[_0xbccd('0x2e')],'type':_0x68dac5[_0xbccd('0x2f')]['key']};});_0x21b921[_0xbccd('0x30')]=_[_0xbccd('0x2b')](_0x257fb9,'name');_0x21b921[_0xbccd('0x31')]=_[_0xbccd('0x32')](_0x5693f0[_0xbccd('0x31')]);_0x21b921[_0xbccd('0x33')]=_['intersection'](_0x21b921['model'],_0x21b921[_0xbccd('0x31')]);_0x278877[_0xbccd('0x34')]=_['intersection'](_0x21b921['model'],qs[_0xbccd('0x35')](_0x5693f0[_0xbccd('0x31')][_0xbccd('0x35')]));_0x278877['attributes']=_0x278877[_0xbccd('0x34')][_0xbccd('0x36')]?_0x278877[_0xbccd('0x34')]:_0x21b921[_0xbccd('0x30')];if(!_0x5693f0[_0xbccd('0x31')]['hasOwnProperty'](_0xbccd('0x37'))){_0x278877['limit']=qs['limit'](_0x5693f0[_0xbccd('0x31')][_0xbccd('0x19')]);_0x278877[_0xbccd('0x18')]=qs[_0xbccd('0x18')](_0x5693f0['query'][_0xbccd('0x18')]);}_0x278877['order']=qs[_0xbccd('0x38')](_0x5693f0[_0xbccd('0x31')]['sort']);_0x278877[_0xbccd('0x39')]=qs[_0xbccd('0x33')](_[_0xbccd('0x3a')](_0x5693f0['query'],_0x21b921['filters']),_0x257fb9);if(_0x5693f0[_0xbccd('0x31')][_0xbccd('0x3b')]){_0x278877[_0xbccd('0x39')]=_[_0xbccd('0x3c')](_0x278877[_0xbccd('0x39')],{'$or':_[_0xbccd('0x2b')](_0x257fb9,function(_0x552eea){if(_0x552eea[_0xbccd('0x2f')]!=='VIRTUAL'){var _0x4624b8={};_0x4624b8[_0x552eea[_0xbccd('0x28')]]={'$like':'%'+_0x5693f0[_0xbccd('0x31')][_0xbccd('0x3b')]+'%'};return _0x4624b8;}})});}_0x278877=_[_0xbccd('0x3c')]({},_0x278877,_0x5693f0['options']);var _0x5ad4c8={'where':_0x278877[_0xbccd('0x39')]};return db[_0xbccd('0x2c')][_0xbccd('0x1b')](_0x5ad4c8)[_0xbccd('0x23')](function(_0x2a788e){_0x527025['count']=_0x2a788e;if(_0x5693f0[_0xbccd('0x31')]['includeAll']){_0x278877[_0xbccd('0x3d')]=[{'all':!![]}];}return db['SquareRecording'][_0xbccd('0x3e')](_0x278877);})[_0xbccd('0x23')](function(_0x544d4e){_0x527025['rows']=_0x544d4e;return _0x527025;})[_0xbccd('0x23')](respondWithFilteredResult(_0x24d7b4,_0x278877))[_0xbccd('0x3f')](handleError(_0x24d7b4,null));};exports[_0xbccd('0x40')]=function(_0xc26f8c,_0x40ccb7){var _0x54762c={'raw':!![],'where':{'id':_0xc26f8c[_0xbccd('0x41')]['id']}},_0x4af575={};_0x4af575[_0xbccd('0x30')]=_[_0xbccd('0x32')](db[_0xbccd('0x2c')][_0xbccd('0x2d')]);_0x4af575['query']=_[_0xbccd('0x32')](_0xc26f8c['query']);_0x4af575['filters']=_[_0xbccd('0x42')](_0x4af575[_0xbccd('0x30')],_0x4af575[_0xbccd('0x31')]);_0x54762c[_0xbccd('0x34')]=_[_0xbccd('0x42')](_0x4af575['model'],qs[_0xbccd('0x35')](_0xc26f8c[_0xbccd('0x31')][_0xbccd('0x35')]));_0x54762c[_0xbccd('0x34')]=_0x54762c[_0xbccd('0x34')][_0xbccd('0x36')]?_0x54762c[_0xbccd('0x34')]:_0x4af575[_0xbccd('0x30')];if(_0xc26f8c[_0xbccd('0x31')][_0xbccd('0x43')]){_0x54762c[_0xbccd('0x3d')]=[{'all':!![]}];}_0x54762c=_[_0xbccd('0x3c')]({},_0x54762c,_0xc26f8c[_0xbccd('0x44')]);return db[_0xbccd('0x2c')]['find'](_0x54762c)[_0xbccd('0x23')](handleEntityNotFound(_0x40ccb7,null))[_0xbccd('0x23')](respondWithResult(_0x40ccb7,null))[_0xbccd('0x3f')](handleError(_0x40ccb7,null));};exports[_0xbccd('0x45')]=function(_0x829cdf,_0x4d407a){return db['SquareRecording']['create'](_0x829cdf['body'],{})[_0xbccd('0x23')](respondWithResult(_0x4d407a,0xc9))[_0xbccd('0x3f')](handleError(_0x4d407a,null));};exports[_0xbccd('0x22')]=function(_0xd4fbff,_0x3f890a){if(_0xd4fbff[_0xbccd('0x46')]['id']){delete _0xd4fbff[_0xbccd('0x46')]['id'];}return db[_0xbccd('0x2c')]['find']({'where':{'id':_0xd4fbff[_0xbccd('0x41')]['id']}})['then'](handleEntityNotFound(_0x3f890a,null))[_0xbccd('0x23')](saveUpdates(_0xd4fbff['body'],null))['then'](respondWithResult(_0x3f890a,null))[_0xbccd('0x3f')](handleError(_0x3f890a,null));};exports[_0xbccd('0x47')]=function(_0x25401a,_0x3ede21,_0x385f83){var _0x3198b8=require(_0xbccd('0x48'));var _0x3a708b=![];var _0x20d160={};if(_0x25401a[_0xbccd('0x31')][_0xbccd('0x2f')]&&_0x25401a[_0xbccd('0x31')]['type']==='uniqueid'){_0x20d160[_0xbccd('0x49')]=_0x25401a[_0xbccd('0x41')]['id'];}else{_0x20d160['id']=_0x25401a['params']['id'];}return db['SquareRecording'][_0xbccd('0x4a')]({'where':_0x20d160,'attributes':['id',_0xbccd('0x4b'),_0xbccd('0x4c')],'raw':!![]})[_0xbccd('0x23')](handleEntityNotFound(_0x3ede21,null))['then'](function(_0x30cbdb){if(_0x30cbdb){var _0x271c20=_0x30cbdb[_0xbccd('0x4b')];var _0x1ee271=util[_0xbccd('0x4d')](_0xbccd('0x4e'),_0x271c20);if(fs['existsSync'](_0x1ee271)){_0x3a708b=!![];return _0x3198b8[_0xbccd('0x4f')](_0x1ee271,_0x271c20,config[_0xbccd('0x50')][_0xbccd('0x51')])[_0xbccd('0x23')](function(){return _0x30cbdb;});}return _0x30cbdb;}})[_0xbccd('0x23')](function(_0x48350e){if(_0x48350e){var _0x11683c=_0x48350e[_0xbccd('0x4b')];if(!fs[_0xbccd('0x52')](_0x11683c)){throw new db[(_0xbccd('0x53'))][(_0xbccd('0x54'))](_0xbccd('0x55'));}if(_0x48350e[_0xbccd('0x4c')]){return _0x3ede21['download'](_0x11683c,_0x48350e[_0xbccd('0x4c')]+path[_0xbccd('0x56')](_0x11683c),function(){if(_0x3a708b){fs[_0xbccd('0x57')](_0x11683c);}});}else{return _0x3ede21[_0xbccd('0x47')](_0x11683c,function(_0x49263a){if(_0x3a708b){fs[_0xbccd('0x57')](_0x11683c);}});}}})[_0xbccd('0x3f')](function(_0x2a6455){if(_0x2a6455[_0xbccd('0x58')]===_0xbccd('0x55')){_0x3ede21[_0xbccd('0x17')](0x194)[_0xbccd('0x29')]('Not\x20found');}else{return handleError(_0x3ede21,null);}});};exports['destroy']=function(_0x44e9ce,_0x2964e1){return db[_0xbccd('0x2c')][_0xbccd('0x4a')]({'where':{'id':_0x44e9ce['params']['id']}})[_0xbccd('0x23')](function(_0x4de354){if(_[_0xbccd('0x59')](_0x4de354)){throw new ReferenceError(_0xbccd('0x5a'));}return _0x4de354;})[_0xbccd('0x23')](function(_0x54eebb){var _0x207a00=_0x54eebb[_0xbccd('0x4b')];logger['info'](_0xbccd('0x5b'),_0x207a00);if(!_['isNil'](_0x54eebb[_0xbccd('0x4b')])&&fs[_0xbccd('0x52')](_0x207a00)){logger['info']('File:\x20\x22'+_0x207a00+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x207a00);}_0x207a00=_0x207a00+_0xbccd('0x5c');if(!_[_0xbccd('0x59')](_0x54eebb[_0xbccd('0x4b')])&&fs['existsSync'](_0x207a00)){logger[_0xbccd('0x5d')](_0xbccd('0x5e')+_0x207a00+_0xbccd('0x5f'));fs[_0xbccd('0x60')](_0x207a00);}return _0x54eebb;})[_0xbccd('0x23')](function(_0x3d2c18){if(!_0x3d2c18)throw new InternalError();return _0x3d2c18[_0xbccd('0x24')]();})['then'](function(){_0x2964e1[_0xbccd('0x17')](0xcc)[_0xbccd('0x25')]();})['catch'](handleError(_0x2964e1,null));};