Built motion from commit d5e4af8c.|2.6.23
[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 _0xe03f=['then','error','stack','name','send','index','map','SquareRecording','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','rawAttributes','find','create','body','catch','params','../../components/encryptor','uniqueid','format','%s.cypher','decryptFile','secrets','existsSync','Sequelize','ValidationError','SquareRecording\x20not\x20found','filename','download','extname','unlink','destroy','isNil','savePath','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','Content-Range','apply','reject','save','update'];(function(_0xb874a8,_0x41e19d){var _0x291320=function(_0x485c01){while(--_0x485c01){_0xb874a8['push'](_0xb874a8['shift']());}};_0x291320(++_0x41e19d);}(_0xe03f,0xfe));var _0xfe03=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xe03f[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0xfe03('0x0'));var rimraf=require(_0xfe03('0x1'));var zipdir=require(_0xfe03('0x2'));var jsonpatch=require(_0xfe03('0x3'));var rp=require(_0xfe03('0x4'));var moment=require(_0xfe03('0x5'));var BPromise=require(_0xfe03('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xfe03('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xfe03('0x8'));var _=require(_0xfe03('0x9'));var squel=require(_0xfe03('0xa'));var crypto=require(_0xfe03('0xb'));var jsforce=require(_0xfe03('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xfe03('0xd'));var Redis=require(_0xfe03('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xfe03('0xf'));var hardwareService=require(_0xfe03('0x10'));var logger=require(_0xfe03('0x11'))('api');var utils=require(_0xfe03('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xfe03('0x13'));var db=require(_0xfe03('0x14'))['db'];function respondWithStatusCode(_0x36ae84,_0x900e2c){_0x900e2c=_0x900e2c||0xcc;return function(_0x47b109){if(_0x47b109){return _0x36ae84[_0xfe03('0x15')](_0x900e2c);}return _0x36ae84[_0xfe03('0x16')](_0x900e2c)[_0xfe03('0x17')]();};}function respondWithResult(_0x305c0a,_0xb3e52c){_0xb3e52c=_0xb3e52c||0xc8;return function(_0x278e5c){if(_0x278e5c){return _0x305c0a[_0xfe03('0x16')](_0xb3e52c)[_0xfe03('0x18')](_0x278e5c);}};}function respondWithFilteredResult(_0x4777f8,_0x642593){return function(_0x45088b){if(_0x45088b){var _0x4c24a6=typeof _0x642593['offset']===_0xfe03('0x19')&&typeof _0x642593['limit']===_0xfe03('0x19');var _0x332505=_0x45088b[_0xfe03('0x1a')];var _0x3666de=_0x4c24a6?0x0:_0x642593[_0xfe03('0x1b')];var _0x54919d=_0x4c24a6?_0x45088b[_0xfe03('0x1a')]:_0x642593[_0xfe03('0x1b')]+_0x642593[_0xfe03('0x1c')];var _0x5b0b03;if(_0x54919d>=_0x332505){_0x54919d=_0x332505;_0x5b0b03=0xc8;}else{_0x5b0b03=0xce;}_0x4777f8[_0xfe03('0x16')](_0x5b0b03);return _0x4777f8['set'](_0xfe03('0x1d'),_0x3666de+'-'+_0x54919d+'/'+_0x332505)['json'](_0x45088b);}return null;};}function patchUpdates(_0x167fa1){return function(_0x17a282){try{jsonpatch[_0xfe03('0x1e')](_0x17a282,_0x167fa1,!![]);}catch(_0x45c7bb){return BPromise[_0xfe03('0x1f')](_0x45c7bb);}return _0x17a282[_0xfe03('0x20')]();};}function saveUpdates(_0x599318,_0x21b2c7){return function(_0xf27a93){if(_0xf27a93){return _0xf27a93[_0xfe03('0x21')](_0x599318)[_0xfe03('0x22')](function(_0x22bbaa){return _0x22bbaa;});}return null;};}function removeEntity(_0x3c4321,_0x109858){return function(_0x3ac221){if(_0x3ac221){return _0x3ac221['destroy']()[_0xfe03('0x22')](function(){_0x3c4321[_0xfe03('0x16')](0xcc)[_0xfe03('0x17')]();});}};}function handleEntityNotFound(_0x4beaa9,_0x5a7678){return function(_0x2b24ba){if(!_0x2b24ba){_0x4beaa9[_0xfe03('0x15')](0x194);}return _0x2b24ba;};}function handleError(_0x1f2053,_0x4b10ce){_0x4b10ce=_0x4b10ce||0x1f4;return function(_0x4d855d){logger[_0xfe03('0x23')](_0x4d855d[_0xfe03('0x24')]);if(_0x4d855d[_0xfe03('0x25')]){delete _0x4d855d[_0xfe03('0x25')];}_0x1f2053['status'](_0x4b10ce)[_0xfe03('0x26')](_0x4d855d);};}exports[_0xfe03('0x27')]=function(_0x1a405e,_0x5c4e22){var _0x594098={},_0x4574c6={},_0x28928f={'count':0x0,'rows':[]};var _0x3ce2e6=_[_0xfe03('0x28')](db[_0xfe03('0x29')]['rawAttributes'],function(_0x104923){return{'name':_0x104923[_0xfe03('0x2a')],'type':_0x104923[_0xfe03('0x2b')][_0xfe03('0x2c')]};});_0x4574c6[_0xfe03('0x2d')]=_[_0xfe03('0x28')](_0x3ce2e6,'name');_0x4574c6[_0xfe03('0x2e')]=_[_0xfe03('0x2f')](_0x1a405e[_0xfe03('0x2e')]);_0x4574c6[_0xfe03('0x30')]=_[_0xfe03('0x31')](_0x4574c6[_0xfe03('0x2d')],_0x4574c6['query']);_0x594098[_0xfe03('0x32')]=_[_0xfe03('0x31')](_0x4574c6[_0xfe03('0x2d')],qs[_0xfe03('0x33')](_0x1a405e['query'][_0xfe03('0x33')]));_0x594098[_0xfe03('0x32')]=_0x594098[_0xfe03('0x32')][_0xfe03('0x34')]?_0x594098['attributes']:_0x4574c6['model'];if(!_0x1a405e['query'][_0xfe03('0x35')](_0xfe03('0x36'))){_0x594098[_0xfe03('0x1c')]=qs[_0xfe03('0x1c')](_0x1a405e[_0xfe03('0x2e')][_0xfe03('0x1c')]);_0x594098[_0xfe03('0x1b')]=qs['offset'](_0x1a405e[_0xfe03('0x2e')][_0xfe03('0x1b')]);}_0x594098[_0xfe03('0x37')]=qs[_0xfe03('0x38')](_0x1a405e[_0xfe03('0x2e')][_0xfe03('0x38')]);_0x594098[_0xfe03('0x39')]=qs['filters'](_[_0xfe03('0x3a')](_0x1a405e[_0xfe03('0x2e')],_0x4574c6[_0xfe03('0x30')]),_0x3ce2e6);if(_0x1a405e['query'][_0xfe03('0x3b')]){_0x594098[_0xfe03('0x39')]=_[_0xfe03('0x3c')](_0x594098[_0xfe03('0x39')],{'$or':_[_0xfe03('0x28')](_0x3ce2e6,function(_0x65fe89){if(_0x65fe89['type']!==_0xfe03('0x3d')){var _0x1e885f={};_0x1e885f[_0x65fe89[_0xfe03('0x25')]]={'$like':'%'+_0x1a405e[_0xfe03('0x2e')][_0xfe03('0x3b')]+'%'};return _0x1e885f;}})});}_0x594098=_['merge']({},_0x594098,_0x1a405e[_0xfe03('0x3e')]);var _0x44ca23={'where':_0x594098[_0xfe03('0x39')]};return db[_0xfe03('0x29')]['count'](_0x44ca23)['then'](function(_0x3e45e4){_0x28928f['count']=_0x3e45e4;if(_0x1a405e[_0xfe03('0x2e')][_0xfe03('0x3f')]){_0x594098[_0xfe03('0x40')]=[{'all':!![]}];}return db[_0xfe03('0x29')][_0xfe03('0x41')](_0x594098);})[_0xfe03('0x22')](function(_0x27a270){_0x28928f[_0xfe03('0x42')]=_0x27a270;return _0x28928f;})['then'](respondWithFilteredResult(_0x5c4e22,_0x594098))['catch'](handleError(_0x5c4e22,null));};exports['show']=function(_0x27bdb4,_0x4fe265){var _0x14c79d={'raw':!![],'where':{'id':_0x27bdb4['params']['id']}},_0x4bf88a={};_0x4bf88a['model']=_[_0xfe03('0x2f')](db[_0xfe03('0x29')][_0xfe03('0x43')]);_0x4bf88a[_0xfe03('0x2e')]=_[_0xfe03('0x2f')](_0x27bdb4[_0xfe03('0x2e')]);_0x4bf88a['filters']=_[_0xfe03('0x31')](_0x4bf88a[_0xfe03('0x2d')],_0x4bf88a[_0xfe03('0x2e')]);_0x14c79d[_0xfe03('0x32')]=_[_0xfe03('0x31')](_0x4bf88a['model'],qs['fields'](_0x27bdb4[_0xfe03('0x2e')][_0xfe03('0x33')]));_0x14c79d[_0xfe03('0x32')]=_0x14c79d[_0xfe03('0x32')]['length']?_0x14c79d[_0xfe03('0x32')]:_0x4bf88a[_0xfe03('0x2d')];if(_0x27bdb4['query'][_0xfe03('0x3f')]){_0x14c79d[_0xfe03('0x40')]=[{'all':!![]}];}_0x14c79d=_[_0xfe03('0x3c')]({},_0x14c79d,_0x27bdb4[_0xfe03('0x3e')]);return db['SquareRecording'][_0xfe03('0x44')](_0x14c79d)[_0xfe03('0x22')](handleEntityNotFound(_0x4fe265,null))[_0xfe03('0x22')](respondWithResult(_0x4fe265,null))['catch'](handleError(_0x4fe265,null));};exports[_0xfe03('0x45')]=function(_0x197cea,_0x133741){return db[_0xfe03('0x29')][_0xfe03('0x45')](_0x197cea[_0xfe03('0x46')],{})[_0xfe03('0x22')](respondWithResult(_0x133741,0xc9))[_0xfe03('0x47')](handleError(_0x133741,null));};exports[_0xfe03('0x21')]=function(_0x548212,_0x2d73a4){if(_0x548212[_0xfe03('0x46')]['id']){delete _0x548212[_0xfe03('0x46')]['id'];}return db['SquareRecording'][_0xfe03('0x44')]({'where':{'id':_0x548212[_0xfe03('0x48')]['id']}})['then'](handleEntityNotFound(_0x2d73a4,null))['then'](saveUpdates(_0x548212['body'],null))[_0xfe03('0x22')](respondWithResult(_0x2d73a4,null))['catch'](handleError(_0x2d73a4,null));};exports['download']=function(_0xb94f3b,_0x72df43,_0x2c0d5b){var _0x32b2ce=require(_0xfe03('0x49'));var _0x476d43=![];var _0x485788={};if(_0xb94f3b[_0xfe03('0x2e')][_0xfe03('0x2b')]&&_0xb94f3b[_0xfe03('0x2e')][_0xfe03('0x2b')]===_0xfe03('0x4a')){_0x485788[_0xfe03('0x4a')]=_0xb94f3b[_0xfe03('0x48')]['id'];}else{_0x485788['id']=_0xb94f3b[_0xfe03('0x48')]['id'];}return db[_0xfe03('0x29')][_0xfe03('0x44')]({'where':_0x485788,'attributes':['id','savePath','filename'],'raw':!![]})['then'](handleEntityNotFound(_0x72df43,null))['then'](function(_0x55888){if(_0x55888){var _0x5b3751=_0x55888['savePath'];var _0x4fc85d=util[_0xfe03('0x4b')](_0xfe03('0x4c'),_0x5b3751);if(fs['existsSync'](_0x4fc85d)){_0x476d43=!![];return _0x32b2ce[_0xfe03('0x4d')](_0x4fc85d,_0x5b3751,config[_0xfe03('0x4e')]['recording'])['then'](function(){return _0x55888;});}return _0x55888;}})[_0xfe03('0x22')](function(_0xbafb5f){if(_0xbafb5f){var _0x3e0c2c=_0xbafb5f['savePath'];if(!fs[_0xfe03('0x4f')](_0x3e0c2c)){throw new db[(_0xfe03('0x50'))][(_0xfe03('0x51'))](_0xfe03('0x52'));}if(_0xbafb5f[_0xfe03('0x53')]){return _0x72df43[_0xfe03('0x54')](_0x3e0c2c,_0xbafb5f[_0xfe03('0x53')]+path[_0xfe03('0x55')](_0x3e0c2c),function(){if(_0x476d43){fs[_0xfe03('0x56')](_0x3e0c2c);}});}else{return _0x72df43[_0xfe03('0x54')](_0x3e0c2c,function(_0x336a7b){if(_0x476d43){fs['unlink'](_0x3e0c2c);}});}}})[_0xfe03('0x47')](function(_0x53abfc){if(_0x53abfc['message']===_0xfe03('0x52')){_0x72df43['status'](0x194)['send']('Not\x20found');}else{return handleError(_0x72df43,null);}});};exports[_0xfe03('0x57')]=function(_0x41f69c,_0x344928){return db[_0xfe03('0x29')]['find']({'where':{'id':_0x41f69c[_0xfe03('0x48')]['id']}})[_0xfe03('0x22')](function(_0xfcb218){if(_[_0xfe03('0x58')](_0xfcb218)){throw new ReferenceError('Entity\x20not\x20found');}return _0xfcb218;})['then'](function(_0x38eab6){var _0x5d2492=_0x38eab6[_0xfe03('0x59')];logger[_0xfe03('0x5a')](_0xfe03('0x5b'),_0x5d2492);if(!_[_0xfe03('0x58')](_0x38eab6[_0xfe03('0x59')])&&fs[_0xfe03('0x4f')](_0x5d2492)){logger[_0xfe03('0x5a')](_0xfe03('0x5c')+_0x5d2492+_0xfe03('0x5d'));fs[_0xfe03('0x5e')](_0x5d2492);}_0x5d2492=_0x5d2492+_0xfe03('0x5f');if(!_['isNil'](_0x38eab6[_0xfe03('0x59')])&&fs[_0xfe03('0x4f')](_0x5d2492)){logger[_0xfe03('0x5a')]('File:\x20\x22'+_0x5d2492+_0xfe03('0x5d'));fs[_0xfe03('0x5e')](_0x5d2492);}return _0x38eab6;})[_0xfe03('0x22')](function(_0x2b0258){if(!_0x2b0258)throw new InternalError();return _0x2b0258[_0xfe03('0x57')]();})['then'](function(){_0x344928[_0xfe03('0x16')](0xcc)[_0xfe03('0x17')]();})[_0xfe03('0x47')](handleError(_0x344928,null));};