Built motion from commit 87cd5f02.|2.5.48
[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 _0x1193=['find','create','body','../../components/encryptor','uniqueid','savePath','filename','existsSync','decryptFile','secrets','recording','Sequelize','SquareRecording\x20not\x20found','download','extname','unlink','message','Not\x20found','isNil','Entity\x20not\x20found','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','SquareRecording','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','limit','order','sort','filters','pick','filter','where','VIRTUAL','merge','include','findAll','rows','catch','show','params','rawAttributes','length','includeAll','options'];(function(_0x5d6456,_0x58ecc7){var _0x4d66c1=function(_0x4335e3){while(--_0x4335e3){_0x5d6456['push'](_0x5d6456['shift']());}};_0x4d66c1(++_0x58ecc7);}(_0x1193,0x19c));var _0x3119=function(_0x2decc8,_0x34217a){_0x2decc8=_0x2decc8-0x0;var _0xd1a1a7=_0x1193[_0x2decc8];return _0xd1a1a7;};'use strict';var emlformat=require(_0x3119('0x0'));var rimraf=require(_0x3119('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3119('0x2'));var rp=require(_0x3119('0x3'));var moment=require(_0x3119('0x4'));var BPromise=require(_0x3119('0x5'));var Mustache=require(_0x3119('0x6'));var util=require('util');var path=require(_0x3119('0x7'));var sox=require(_0x3119('0x8'));var csv=require(_0x3119('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x3119('0xa'));var crypto=require(_0x3119('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x3119('0xc'));var toCsv=require(_0x3119('0x9'));var querystring=require(_0x3119('0xd'));var Papa=require(_0x3119('0xe'));var Redis=require('ioredis');var authService=require(_0x3119('0xf'));var qs=require(_0x3119('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3119('0x11'));var logger=require(_0x3119('0x12'))(_0x3119('0x13'));var utils=require(_0x3119('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x3119('0x15'));var db=require(_0x3119('0x16'))['db'];function respondWithStatusCode(_0x284626,_0x2a01b0){_0x2a01b0=_0x2a01b0||0xcc;return function(_0x12a507){if(_0x12a507){return _0x284626[_0x3119('0x17')](_0x2a01b0);}return _0x284626[_0x3119('0x18')](_0x2a01b0)[_0x3119('0x19')]();};}function respondWithResult(_0x455bfc,_0x4d5c67){_0x4d5c67=_0x4d5c67||0xc8;return function(_0xeebb54){if(_0xeebb54){return _0x455bfc[_0x3119('0x18')](_0x4d5c67)[_0x3119('0x1a')](_0xeebb54);}};}function respondWithFilteredResult(_0x38f246,_0xa7171d){return function(_0x4f4250){if(_0x4f4250){var _0x4d5e57=typeof _0xa7171d[_0x3119('0x1b')]===_0x3119('0x1c')&&typeof _0xa7171d['limit']===_0x3119('0x1c');var _0x2f517b=_0x4f4250[_0x3119('0x1d')];var _0x367fd8=_0x4d5e57?0x0:_0xa7171d[_0x3119('0x1b')];var _0x159b6f=_0x4d5e57?_0x4f4250[_0x3119('0x1d')]:_0xa7171d[_0x3119('0x1b')]+_0xa7171d['limit'];var _0x4cb130;if(_0x159b6f>=_0x2f517b){_0x159b6f=_0x2f517b;_0x4cb130=0xc8;}else{_0x4cb130=0xce;}_0x38f246[_0x3119('0x18')](_0x4cb130);return _0x38f246['set'](_0x3119('0x1e'),_0x367fd8+'-'+_0x159b6f+'/'+_0x2f517b)[_0x3119('0x1a')](_0x4f4250);}return null;};}function patchUpdates(_0x5b80ea){return function(_0x417b4f){try{jsonpatch[_0x3119('0x1f')](_0x417b4f,_0x5b80ea,!![]);}catch(_0x7afa2c){return BPromise[_0x3119('0x20')](_0x7afa2c);}return _0x417b4f[_0x3119('0x21')]();};}function saveUpdates(_0x457aa1,_0x5bdf2d){return function(_0x268f0c){if(_0x268f0c){return _0x268f0c[_0x3119('0x22')](_0x457aa1)[_0x3119('0x23')](function(_0x303691){return _0x303691;});}return null;};}function removeEntity(_0x313c4d,_0x7ea7bb){return function(_0x36fad1){if(_0x36fad1){return _0x36fad1[_0x3119('0x24')]()[_0x3119('0x23')](function(){_0x313c4d['status'](0xcc)[_0x3119('0x19')]();});}};}function handleEntityNotFound(_0x39a549,_0x47dacb){return function(_0x4c4039){if(!_0x4c4039){_0x39a549[_0x3119('0x17')](0x194);}return _0x4c4039;};}function handleError(_0x2276aa,_0x12be7b){_0x12be7b=_0x12be7b||0x1f4;return function(_0x4d07fc){logger[_0x3119('0x25')](_0x4d07fc[_0x3119('0x26')]);if(_0x4d07fc[_0x3119('0x27')]){delete _0x4d07fc[_0x3119('0x27')];}_0x2276aa[_0x3119('0x18')](_0x12be7b)[_0x3119('0x28')](_0x4d07fc);};}exports[_0x3119('0x29')]=function(_0x2ce662,_0x5dc279){var _0xafb113={},_0x828b0a={},_0x938456={'count':0x0,'rows':[]};var _0x57dce0=_[_0x3119('0x2a')](db[_0x3119('0x2b')]['rawAttributes'],function(_0x3fcdb3){return{'name':_0x3fcdb3[_0x3119('0x2c')],'type':_0x3fcdb3[_0x3119('0x2d')][_0x3119('0x2e')]};});_0x828b0a[_0x3119('0x2f')]=_[_0x3119('0x2a')](_0x57dce0,_0x3119('0x27'));_0x828b0a[_0x3119('0x30')]=_[_0x3119('0x31')](_0x2ce662[_0x3119('0x30')]);_0x828b0a['filters']=_[_0x3119('0x32')](_0x828b0a[_0x3119('0x2f')],_0x828b0a[_0x3119('0x30')]);_0xafb113[_0x3119('0x33')]=_[_0x3119('0x32')](_0x828b0a[_0x3119('0x2f')],qs[_0x3119('0x34')](_0x2ce662[_0x3119('0x30')][_0x3119('0x34')]));_0xafb113[_0x3119('0x33')]=_0xafb113[_0x3119('0x33')]['length']?_0xafb113[_0x3119('0x33')]:_0x828b0a['model'];if(!_0x2ce662[_0x3119('0x30')][_0x3119('0x35')]('nolimit')){_0xafb113[_0x3119('0x36')]=qs[_0x3119('0x36')](_0x2ce662[_0x3119('0x30')][_0x3119('0x36')]);_0xafb113[_0x3119('0x1b')]=qs[_0x3119('0x1b')](_0x2ce662['query']['offset']);}_0xafb113[_0x3119('0x37')]=qs[_0x3119('0x38')](_0x2ce662[_0x3119('0x30')][_0x3119('0x38')]);_0xafb113['where']=qs[_0x3119('0x39')](_[_0x3119('0x3a')](_0x2ce662['query'],_0x828b0a[_0x3119('0x39')]),_0x57dce0);if(_0x2ce662[_0x3119('0x30')][_0x3119('0x3b')]){_0xafb113[_0x3119('0x3c')]=_['merge'](_0xafb113[_0x3119('0x3c')],{'$or':_[_0x3119('0x2a')](_0x57dce0,function(_0x2f94fa){if(_0x2f94fa[_0x3119('0x2d')]!==_0x3119('0x3d')){var _0x2c974b={};_0x2c974b[_0x2f94fa[_0x3119('0x27')]]={'$like':'%'+_0x2ce662[_0x3119('0x30')][_0x3119('0x3b')]+'%'};return _0x2c974b;}})});}_0xafb113=_[_0x3119('0x3e')]({},_0xafb113,_0x2ce662['options']);var _0x5d8dd0={'where':_0xafb113[_0x3119('0x3c')]};return db[_0x3119('0x2b')][_0x3119('0x1d')](_0x5d8dd0)[_0x3119('0x23')](function(_0x360832){_0x938456[_0x3119('0x1d')]=_0x360832;if(_0x2ce662['query']['includeAll']){_0xafb113[_0x3119('0x3f')]=[{'all':!![]}];}return db['SquareRecording'][_0x3119('0x40')](_0xafb113);})[_0x3119('0x23')](function(_0x1dbbee){_0x938456[_0x3119('0x41')]=_0x1dbbee;return _0x938456;})[_0x3119('0x23')](respondWithFilteredResult(_0x5dc279,_0xafb113))[_0x3119('0x42')](handleError(_0x5dc279,null));};exports[_0x3119('0x43')]=function(_0x253e98,_0x502aa4){var _0x2a8385={'raw':!![],'where':{'id':_0x253e98[_0x3119('0x44')]['id']}},_0x1b2cf3={};_0x1b2cf3[_0x3119('0x2f')]=_[_0x3119('0x31')](db[_0x3119('0x2b')][_0x3119('0x45')]);_0x1b2cf3[_0x3119('0x30')]=_[_0x3119('0x31')](_0x253e98[_0x3119('0x30')]);_0x1b2cf3['filters']=_[_0x3119('0x32')](_0x1b2cf3[_0x3119('0x2f')],_0x1b2cf3[_0x3119('0x30')]);_0x2a8385[_0x3119('0x33')]=_[_0x3119('0x32')](_0x1b2cf3[_0x3119('0x2f')],qs['fields'](_0x253e98[_0x3119('0x30')][_0x3119('0x34')]));_0x2a8385[_0x3119('0x33')]=_0x2a8385[_0x3119('0x33')][_0x3119('0x46')]?_0x2a8385[_0x3119('0x33')]:_0x1b2cf3[_0x3119('0x2f')];if(_0x253e98[_0x3119('0x30')][_0x3119('0x47')]){_0x2a8385[_0x3119('0x3f')]=[{'all':!![]}];}_0x2a8385=_['merge']({},_0x2a8385,_0x253e98[_0x3119('0x48')]);return db[_0x3119('0x2b')][_0x3119('0x49')](_0x2a8385)[_0x3119('0x23')](handleEntityNotFound(_0x502aa4,null))[_0x3119('0x23')](respondWithResult(_0x502aa4,null))[_0x3119('0x42')](handleError(_0x502aa4,null));};exports[_0x3119('0x4a')]=function(_0x2238bf,_0x5df6de){return db[_0x3119('0x2b')]['create'](_0x2238bf[_0x3119('0x4b')],{})['then'](respondWithResult(_0x5df6de,0xc9))[_0x3119('0x42')](handleError(_0x5df6de,null));};exports[_0x3119('0x22')]=function(_0x1fc660,_0x16ab9e){if(_0x1fc660[_0x3119('0x4b')]['id']){delete _0x1fc660[_0x3119('0x4b')]['id'];}return db[_0x3119('0x2b')]['find']({'where':{'id':_0x1fc660['params']['id']}})[_0x3119('0x23')](handleEntityNotFound(_0x16ab9e,null))[_0x3119('0x23')](saveUpdates(_0x1fc660[_0x3119('0x4b')],null))['then'](respondWithResult(_0x16ab9e,null))['catch'](handleError(_0x16ab9e,null));};exports['download']=function(_0x4188c3,_0x39800e,_0x5709a6){var _0x17cf5f=require(_0x3119('0x4c'));var _0x50403c=![];var _0x4d9078={};if(_0x4188c3[_0x3119('0x30')][_0x3119('0x2d')]&&_0x4188c3[_0x3119('0x30')]['type']==='uniqueid'){_0x4d9078[_0x3119('0x4d')]=_0x4188c3[_0x3119('0x44')]['id'];}else{_0x4d9078['id']=_0x4188c3[_0x3119('0x44')]['id'];}return db[_0x3119('0x2b')]['find']({'where':_0x4d9078,'attributes':['id',_0x3119('0x4e'),_0x3119('0x4f')],'raw':!![]})[_0x3119('0x23')](handleEntityNotFound(_0x39800e,null))['then'](function(_0x1f81d){if(_0x1f81d){var _0x1e9689=_0x1f81d[_0x3119('0x4e')];var _0x278f4a=util['format']('%s.cypher',_0x1e9689);if(fs[_0x3119('0x50')](_0x278f4a)){_0x50403c=!![];return _0x17cf5f[_0x3119('0x51')](_0x278f4a,_0x1e9689,config[_0x3119('0x52')][_0x3119('0x53')])['then'](function(){return _0x1f81d;});}return _0x1f81d;}})[_0x3119('0x23')](function(_0x355a48){if(_0x355a48){var _0xaa721e=_0x355a48['savePath'];if(!fs[_0x3119('0x50')](_0xaa721e)){throw new db[(_0x3119('0x54'))]['ValidationError'](_0x3119('0x55'));}if(_0x355a48['filename']){return _0x39800e[_0x3119('0x56')](_0xaa721e,_0x355a48[_0x3119('0x4f')]+path[_0x3119('0x57')](_0xaa721e),function(){if(_0x50403c){fs[_0x3119('0x58')](_0xaa721e);}});}else{return _0x39800e[_0x3119('0x56')](_0xaa721e,function(_0x1a0e33){if(_0x50403c){fs[_0x3119('0x58')](_0xaa721e);}});}}})[_0x3119('0x42')](function(_0x146c29){if(_0x146c29[_0x3119('0x59')]===_0x3119('0x55')){_0x39800e[_0x3119('0x18')](0x194)[_0x3119('0x28')](_0x3119('0x5a'));}else{return handleError(_0x39800e,null);}});};exports[_0x3119('0x24')]=function(_0x410b19,_0x36a199){return db['SquareRecording']['find']({'where':{'id':_0x410b19[_0x3119('0x44')]['id']}})['then'](function(_0x63372e){if(_[_0x3119('0x5b')](_0x63372e)){throw new ReferenceError(_0x3119('0x5c'));}return _0x63372e;})[_0x3119('0x23')](function(_0x58616d){var _0x5e41e6=_0x58616d[_0x3119('0x4e')];logger[_0x3119('0x5d')]('cancellazione\x20fisica\x20documento\x20%s',_0x5e41e6);if(!_[_0x3119('0x5b')](_0x58616d['savePath'])&&fs[_0x3119('0x50')](_0x5e41e6)){logger['info'](_0x3119('0x5e')+_0x5e41e6+_0x3119('0x5f'));fs[_0x3119('0x60')](_0x5e41e6);}_0x5e41e6=_0x5e41e6+'.cypher';if(!_['isNil'](_0x58616d[_0x3119('0x4e')])&&fs[_0x3119('0x50')](_0x5e41e6)){logger[_0x3119('0x5d')](_0x3119('0x5e')+_0x5e41e6+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x5e41e6);}return _0x58616d;})[_0x3119('0x23')](function(_0x25a616){if(!_0x25a616)throw new InternalError();return _0x25a616['destroy']();})['then'](function(){_0x36a199['status'](0xcc)[_0x3119('0x19')]();})[_0x3119('0x42')](handleError(_0x36a199,null));};