Built motion from commit 9b156c94.|2.6.22
[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 _0x383b=['savePath','filename','format','%s.cypher','existsSync','recording','Sequelize','ValidationError','extname','unlink','Not\x20found','destroy','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','sox','ejs','squel','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','end','error','name','send','index','map','fieldName','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','SquareRecording','findAll','rows','catch','show','rawAttributes','include','find','create','body','params','download','../../components/encryptor','uniqueid'];(function(_0x39cd3c,_0xa21102){var _0x47a0ae=function(_0x330b05){while(--_0x330b05){_0x39cd3c['push'](_0x39cd3c['shift']());}};_0x47a0ae(++_0xa21102);}(_0x383b,0x132));var _0xb383=function(_0x53a785,_0x49bc70){_0x53a785=_0x53a785-0x0;var _0x2d1d71=_0x383b[_0x53a785];return _0x2d1d71;};'use strict';var emlformat=require(_0xb383('0x0'));var rimraf=require(_0xb383('0x1'));var zipdir=require(_0xb383('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb383('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xb383('0x4'));var util=require(_0xb383('0x5'));var path=require(_0xb383('0x6'));var sox=require(_0xb383('0x7'));var csv=require('to-csv');var ejs=require(_0xb383('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xb383('0x9'));var crypto=require('crypto');var jsforce=require(_0xb383('0xa'));var deskjs=require(_0xb383('0xb'));var toCsv=require(_0xb383('0xc'));var querystring=require(_0xb383('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xb383('0xe'));var qs=require(_0xb383('0xf'));var as=require(_0xb383('0x10'));var hardwareService=require(_0xb383('0x11'));var logger=require(_0xb383('0x12'))(_0xb383('0x13'));var utils=require(_0xb383('0x14'));var config=require(_0xb383('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xb383('0x16'))['db'];function respondWithStatusCode(_0x2337a0,_0x4425e1){_0x4425e1=_0x4425e1||0xcc;return function(_0x5be548){if(_0x5be548){return _0x2337a0[_0xb383('0x17')](_0x4425e1);}return _0x2337a0[_0xb383('0x18')](_0x4425e1)['end']();};}function respondWithResult(_0x4a324c,_0x5542e1){_0x5542e1=_0x5542e1||0xc8;return function(_0x1b815a){if(_0x1b815a){return _0x4a324c[_0xb383('0x18')](_0x5542e1)['json'](_0x1b815a);}};}function respondWithFilteredResult(_0x516400,_0x356eff){return function(_0x272737){if(_0x272737){var _0x1cb49f=typeof _0x356eff[_0xb383('0x19')]===_0xb383('0x1a')&&typeof _0x356eff[_0xb383('0x1b')]===_0xb383('0x1a');var _0x5f339c=_0x272737[_0xb383('0x1c')];var _0xef8375=_0x1cb49f?0x0:_0x356eff[_0xb383('0x19')];var _0x3286f0=_0x1cb49f?_0x272737[_0xb383('0x1c')]:_0x356eff['offset']+_0x356eff[_0xb383('0x1b')];var _0x1209d2;if(_0x3286f0>=_0x5f339c){_0x3286f0=_0x5f339c;_0x1209d2=0xc8;}else{_0x1209d2=0xce;}_0x516400[_0xb383('0x18')](_0x1209d2);return _0x516400[_0xb383('0x1d')](_0xb383('0x1e'),_0xef8375+'-'+_0x3286f0+'/'+_0x5f339c)[_0xb383('0x1f')](_0x272737);}return null;};}function patchUpdates(_0x5ac224){return function(_0x551be2){try{jsonpatch[_0xb383('0x20')](_0x551be2,_0x5ac224,!![]);}catch(_0x98f194){return BPromise[_0xb383('0x21')](_0x98f194);}return _0x551be2[_0xb383('0x22')]();};}function saveUpdates(_0x5527f8,_0x1fbfe4){return function(_0xc24573){if(_0xc24573){return _0xc24573[_0xb383('0x23')](_0x5527f8)[_0xb383('0x24')](function(_0x453528){return _0x453528;});}return null;};}function removeEntity(_0x1568bb,_0x5ac813){return function(_0x247daf){if(_0x247daf){return _0x247daf['destroy']()[_0xb383('0x24')](function(){_0x1568bb[_0xb383('0x18')](0xcc)[_0xb383('0x25')]();});}};}function handleEntityNotFound(_0x3a0e93,_0x25bbab){return function(_0x4ee4f8){if(!_0x4ee4f8){_0x3a0e93[_0xb383('0x17')](0x194);}return _0x4ee4f8;};}function handleError(_0x1c3941,_0x120eb5){_0x120eb5=_0x120eb5||0x1f4;return function(_0x5c1458){logger[_0xb383('0x26')](_0x5c1458['stack']);if(_0x5c1458[_0xb383('0x27')]){delete _0x5c1458[_0xb383('0x27')];}_0x1c3941['status'](_0x120eb5)[_0xb383('0x28')](_0x5c1458);};}exports[_0xb383('0x29')]=function(_0x18d235,_0x9376c8){var _0x4f95c9={},_0x11cbb9={},_0x1abfc0={'count':0x0,'rows':[]};var _0x30bb91=_[_0xb383('0x2a')](db['SquareRecording']['rawAttributes'],function(_0x558c19){return{'name':_0x558c19[_0xb383('0x2b')],'type':_0x558c19['type'][_0xb383('0x2c')]};});_0x11cbb9['model']=_[_0xb383('0x2a')](_0x30bb91,'name');_0x11cbb9[_0xb383('0x2d')]=_[_0xb383('0x2e')](_0x18d235['query']);_0x11cbb9[_0xb383('0x2f')]=_[_0xb383('0x30')](_0x11cbb9[_0xb383('0x31')],_0x11cbb9[_0xb383('0x2d')]);_0x4f95c9[_0xb383('0x32')]=_[_0xb383('0x30')](_0x11cbb9[_0xb383('0x31')],qs[_0xb383('0x33')](_0x18d235[_0xb383('0x2d')][_0xb383('0x33')]));_0x4f95c9['attributes']=_0x4f95c9[_0xb383('0x32')][_0xb383('0x34')]?_0x4f95c9[_0xb383('0x32')]:_0x11cbb9[_0xb383('0x31')];if(!_0x18d235[_0xb383('0x2d')][_0xb383('0x35')](_0xb383('0x36'))){_0x4f95c9['limit']=qs['limit'](_0x18d235[_0xb383('0x2d')][_0xb383('0x1b')]);_0x4f95c9[_0xb383('0x19')]=qs[_0xb383('0x19')](_0x18d235[_0xb383('0x2d')][_0xb383('0x19')]);}_0x4f95c9[_0xb383('0x37')]=qs[_0xb383('0x38')](_0x18d235[_0xb383('0x2d')][_0xb383('0x38')]);_0x4f95c9[_0xb383('0x39')]=qs[_0xb383('0x2f')](_['pick'](_0x18d235['query'],_0x11cbb9[_0xb383('0x2f')]),_0x30bb91);if(_0x18d235[_0xb383('0x2d')][_0xb383('0x3a')]){_0x4f95c9[_0xb383('0x39')]=_[_0xb383('0x3b')](_0x4f95c9['where'],{'$or':_[_0xb383('0x2a')](_0x30bb91,function(_0x14937b){if(_0x14937b[_0xb383('0x3c')]!==_0xb383('0x3d')){var _0x226007={};_0x226007[_0x14937b[_0xb383('0x27')]]={'$like':'%'+_0x18d235['query'][_0xb383('0x3a')]+'%'};return _0x226007;}})});}_0x4f95c9=_['merge']({},_0x4f95c9,_0x18d235[_0xb383('0x3e')]);var _0x2407c0={'where':_0x4f95c9[_0xb383('0x39')]};return db['SquareRecording'][_0xb383('0x1c')](_0x2407c0)[_0xb383('0x24')](function(_0x314f06){_0x1abfc0[_0xb383('0x1c')]=_0x314f06;if(_0x18d235['query'][_0xb383('0x3f')]){_0x4f95c9['include']=[{'all':!![]}];}return db[_0xb383('0x40')][_0xb383('0x41')](_0x4f95c9);})[_0xb383('0x24')](function(_0x1ce916){_0x1abfc0[_0xb383('0x42')]=_0x1ce916;return _0x1abfc0;})[_0xb383('0x24')](respondWithFilteredResult(_0x9376c8,_0x4f95c9))[_0xb383('0x43')](handleError(_0x9376c8,null));};exports[_0xb383('0x44')]=function(_0x1f9650,_0x290aca){var _0x8c881c={'raw':!![],'where':{'id':_0x1f9650['params']['id']}},_0x2ba773={};_0x2ba773[_0xb383('0x31')]=_['keys'](db[_0xb383('0x40')][_0xb383('0x45')]);_0x2ba773[_0xb383('0x2d')]=_[_0xb383('0x2e')](_0x1f9650['query']);_0x2ba773[_0xb383('0x2f')]=_[_0xb383('0x30')](_0x2ba773[_0xb383('0x31')],_0x2ba773[_0xb383('0x2d')]);_0x8c881c[_0xb383('0x32')]=_[_0xb383('0x30')](_0x2ba773['model'],qs[_0xb383('0x33')](_0x1f9650['query'][_0xb383('0x33')]));_0x8c881c['attributes']=_0x8c881c[_0xb383('0x32')][_0xb383('0x34')]?_0x8c881c['attributes']:_0x2ba773[_0xb383('0x31')];if(_0x1f9650[_0xb383('0x2d')][_0xb383('0x3f')]){_0x8c881c[_0xb383('0x46')]=[{'all':!![]}];}_0x8c881c=_[_0xb383('0x3b')]({},_0x8c881c,_0x1f9650['options']);return db[_0xb383('0x40')][_0xb383('0x47')](_0x8c881c)[_0xb383('0x24')](handleEntityNotFound(_0x290aca,null))[_0xb383('0x24')](respondWithResult(_0x290aca,null))[_0xb383('0x43')](handleError(_0x290aca,null));};exports[_0xb383('0x48')]=function(_0x4bc4f0,_0x240ba1){return db['SquareRecording'][_0xb383('0x48')](_0x4bc4f0[_0xb383('0x49')],{})[_0xb383('0x24')](respondWithResult(_0x240ba1,0xc9))[_0xb383('0x43')](handleError(_0x240ba1,null));};exports[_0xb383('0x23')]=function(_0x5949bd,_0x5d0ad0){if(_0x5949bd[_0xb383('0x49')]['id']){delete _0x5949bd[_0xb383('0x49')]['id'];}return db['SquareRecording'][_0xb383('0x47')]({'where':{'id':_0x5949bd[_0xb383('0x4a')]['id']}})[_0xb383('0x24')](handleEntityNotFound(_0x5d0ad0,null))[_0xb383('0x24')](saveUpdates(_0x5949bd[_0xb383('0x49')],null))[_0xb383('0x24')](respondWithResult(_0x5d0ad0,null))[_0xb383('0x43')](handleError(_0x5d0ad0,null));};exports[_0xb383('0x4b')]=function(_0x225833,_0x5ed64e,_0x392ab2){var _0x427da0=require(_0xb383('0x4c'));var _0x4385b3=![];var _0x5e75f4={};if(_0x225833[_0xb383('0x2d')][_0xb383('0x3c')]&&_0x225833[_0xb383('0x2d')]['type']===_0xb383('0x4d')){_0x5e75f4[_0xb383('0x4d')]=_0x225833[_0xb383('0x4a')]['id'];}else{_0x5e75f4['id']=_0x225833[_0xb383('0x4a')]['id'];}return db[_0xb383('0x40')][_0xb383('0x47')]({'where':_0x5e75f4,'attributes':['id',_0xb383('0x4e'),_0xb383('0x4f')],'raw':!![]})[_0xb383('0x24')](handleEntityNotFound(_0x5ed64e,null))['then'](function(_0x2df1f3){if(_0x2df1f3){var _0x31cc1b=_0x2df1f3[_0xb383('0x4e')];var _0x476bb4=util[_0xb383('0x50')](_0xb383('0x51'),_0x31cc1b);if(fs[_0xb383('0x52')](_0x476bb4)){_0x4385b3=!![];return _0x427da0['decryptFile'](_0x476bb4,_0x31cc1b,config['secrets'][_0xb383('0x53')])[_0xb383('0x24')](function(){return _0x2df1f3;});}return _0x2df1f3;}})[_0xb383('0x24')](function(_0x3f3b14){if(_0x3f3b14){var _0x3f0eed=_0x3f3b14[_0xb383('0x4e')];if(!fs['existsSync'](_0x3f0eed)){throw new db[(_0xb383('0x54'))][(_0xb383('0x55'))]('SquareRecording\x20not\x20found');}if(_0x3f3b14[_0xb383('0x4f')]){return _0x5ed64e[_0xb383('0x4b')](_0x3f0eed,_0x3f3b14[_0xb383('0x4f')]+path[_0xb383('0x56')](_0x3f0eed),function(){if(_0x4385b3){fs[_0xb383('0x57')](_0x3f0eed);}});}else{return _0x5ed64e['download'](_0x3f0eed,function(_0x112ba5){if(_0x4385b3){fs['unlink'](_0x3f0eed);}});}}})[_0xb383('0x43')](function(_0x25b183){if(_0x25b183['message']==='SquareRecording\x20not\x20found'){_0x5ed64e[_0xb383('0x18')](0x194)[_0xb383('0x28')](_0xb383('0x58'));}else{return handleError(_0x5ed64e,null);}});};exports[_0xb383('0x59')]=function(_0x2e5953,_0x300118){return db[_0xb383('0x40')][_0xb383('0x47')]({'where':{'id':_0x2e5953[_0xb383('0x4a')]['id']}})[_0xb383('0x24')](function(_0x420f8b){if(_['isNil'](_0x420f8b)){throw new ReferenceError('Entity\x20not\x20found');}return _0x420f8b;})[_0xb383('0x24')](function(_0x417693){var _0x1f74ab=_0x417693['savePath'];logger[_0xb383('0x5a')]('cancellazione\x20fisica\x20documento\x20%s',_0x1f74ab);if(!_['isNil'](_0x417693[_0xb383('0x4e')])&&fs[_0xb383('0x52')](_0x1f74ab)){logger['info'](_0xb383('0x5b')+_0x1f74ab+_0xb383('0x5c'));fs[_0xb383('0x5d')](_0x1f74ab);}_0x1f74ab=_0x1f74ab+_0xb383('0x5e');if(!_[_0xb383('0x5f')](_0x417693[_0xb383('0x4e')])&&fs['existsSync'](_0x1f74ab)){logger[_0xb383('0x5a')]('File:\x20\x22'+_0x1f74ab+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xb383('0x5d')](_0x1f74ab);}return _0x417693;})['then'](function(_0x330e9c){if(!_0x330e9c)throw new InternalError();return _0x330e9c['destroy']();})['then'](function(){_0x300118[_0xb383('0x18')](0xcc)[_0xb383('0x25')]();})[_0xb383('0x43')](handleError(_0x300118,null));};