27549a2d2a374fa3b29c7acaa75a2fffa3a0803e
[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 _0xdbf0=['SquareRecording\x20not\x20found','download','unlink','message','Not\x20found','isNil','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','querystring','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','Content-Range','save','update','then','destroy','error','name','send','index','rawAttributes','type','key','map','query','filters','model','intersection','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','SquareRecording','includeAll','rows','catch','show','params','keys','fields','include','find','create','body','../../components/encryptor','uniqueid','savePath','filename','format','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError'];(function(_0x3e1a0e,_0x5d847b){var _0x423f71=function(_0x43c058){while(--_0x43c058){_0x3e1a0e['push'](_0x3e1a0e['shift']());}};_0x423f71(++_0x5d847b);}(_0xdbf0,0x190));var _0x0dbf=function(_0x4e676e,_0x2a7c6d){_0x4e676e=_0x4e676e-0x0;var _0x336a3c=_0xdbf0[_0x4e676e];return _0x336a3c;};'use strict';var emlformat=require(_0x0dbf('0x0'));var rimraf=require(_0x0dbf('0x1'));var zipdir=require(_0x0dbf('0x2'));var jsonpatch=require(_0x0dbf('0x3'));var rp=require(_0x0dbf('0x4'));var moment=require(_0x0dbf('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x0dbf('0x6'));var util=require(_0x0dbf('0x7'));var path=require(_0x0dbf('0x8'));var sox=require(_0x0dbf('0x9'));var csv=require(_0x0dbf('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0dbf('0xb'));var _=require('lodash');var squel=require(_0x0dbf('0xc'));var crypto=require(_0x0dbf('0xd'));var jsforce=require(_0x0dbf('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x0dbf('0xa'));var querystring=require(_0x0dbf('0xf'));var Papa=require('papaparse');var Redis=require(_0x0dbf('0x10'));var authService=require(_0x0dbf('0x11'));var qs=require(_0x0dbf('0x12'));var as=require(_0x0dbf('0x13'));var hardwareService=require(_0x0dbf('0x14'));var logger=require(_0x0dbf('0x15'))('api');var utils=require(_0x0dbf('0x16'));var config=require(_0x0dbf('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x0dbf('0x18'))['db'];function respondWithStatusCode(_0x2a7b70,_0x31ce01){_0x31ce01=_0x31ce01||0xcc;return function(_0x4a44ac){if(_0x4a44ac){return _0x2a7b70[_0x0dbf('0x19')](_0x31ce01);}return _0x2a7b70[_0x0dbf('0x1a')](_0x31ce01)[_0x0dbf('0x1b')]();};}function respondWithResult(_0x1a38ef,_0x21c5a4){_0x21c5a4=_0x21c5a4||0xc8;return function(_0x482fdd){if(_0x482fdd){return _0x1a38ef[_0x0dbf('0x1a')](_0x21c5a4)[_0x0dbf('0x1c')](_0x482fdd);}};}function respondWithFilteredResult(_0x4dc6e0,_0x27231a){return function(_0x9b0f28){if(_0x9b0f28){var _0xbad276=typeof _0x27231a[_0x0dbf('0x1d')]==='undefined'&&typeof _0x27231a[_0x0dbf('0x1e')]===_0x0dbf('0x1f');var _0x3f4b0f=_0x9b0f28[_0x0dbf('0x20')];var _0x34c81d=_0xbad276?0x0:_0x27231a['offset'];var _0x184cf1=_0xbad276?_0x9b0f28[_0x0dbf('0x20')]:_0x27231a[_0x0dbf('0x1d')]+_0x27231a[_0x0dbf('0x1e')];var _0x42c29f;if(_0x184cf1>=_0x3f4b0f){_0x184cf1=_0x3f4b0f;_0x42c29f=0xc8;}else{_0x42c29f=0xce;}_0x4dc6e0[_0x0dbf('0x1a')](_0x42c29f);return _0x4dc6e0['set'](_0x0dbf('0x21'),_0x34c81d+'-'+_0x184cf1+'/'+_0x3f4b0f)[_0x0dbf('0x1c')](_0x9b0f28);}return null;};}function patchUpdates(_0x159edc){return function(_0x2f4781){try{jsonpatch['apply'](_0x2f4781,_0x159edc,!![]);}catch(_0x44839d){return BPromise['reject'](_0x44839d);}return _0x2f4781[_0x0dbf('0x22')]();};}function saveUpdates(_0x48959e,_0x240715){return function(_0x440262){if(_0x440262){return _0x440262[_0x0dbf('0x23')](_0x48959e)[_0x0dbf('0x24')](function(_0x20dd6e){return _0x20dd6e;});}return null;};}function removeEntity(_0x2a955a,_0x3986d6){return function(_0x4152dd){if(_0x4152dd){return _0x4152dd[_0x0dbf('0x25')]()['then'](function(){_0x2a955a[_0x0dbf('0x1a')](0xcc)[_0x0dbf('0x1b')]();});}};}function handleEntityNotFound(_0x5440c3,_0x28ef1c){return function(_0x274b96){if(!_0x274b96){_0x5440c3[_0x0dbf('0x19')](0x194);}return _0x274b96;};}function handleError(_0x11279e,_0x1f779b){_0x1f779b=_0x1f779b||0x1f4;return function(_0x4ae966){logger[_0x0dbf('0x26')](_0x4ae966['stack']);if(_0x4ae966[_0x0dbf('0x27')]){delete _0x4ae966['name'];}_0x11279e[_0x0dbf('0x1a')](_0x1f779b)[_0x0dbf('0x28')](_0x4ae966);};}exports[_0x0dbf('0x29')]=function(_0x38e5f9,_0x106167){var _0x26da52={},_0x3b2635={},_0x5c1034={'count':0x0,'rows':[]};var _0x236243=_['map'](db['SquareRecording'][_0x0dbf('0x2a')],function(_0x547aa2){return{'name':_0x547aa2['fieldName'],'type':_0x547aa2[_0x0dbf('0x2b')][_0x0dbf('0x2c')]};});_0x3b2635['model']=_[_0x0dbf('0x2d')](_0x236243,_0x0dbf('0x27'));_0x3b2635[_0x0dbf('0x2e')]=_['keys'](_0x38e5f9[_0x0dbf('0x2e')]);_0x3b2635[_0x0dbf('0x2f')]=_['intersection'](_0x3b2635[_0x0dbf('0x30')],_0x3b2635[_0x0dbf('0x2e')]);_0x26da52['attributes']=_[_0x0dbf('0x31')](_0x3b2635[_0x0dbf('0x30')],qs['fields'](_0x38e5f9[_0x0dbf('0x2e')]['fields']));_0x26da52[_0x0dbf('0x32')]=_0x26da52[_0x0dbf('0x32')][_0x0dbf('0x33')]?_0x26da52[_0x0dbf('0x32')]:_0x3b2635[_0x0dbf('0x30')];if(!_0x38e5f9[_0x0dbf('0x2e')][_0x0dbf('0x34')](_0x0dbf('0x35'))){_0x26da52[_0x0dbf('0x1e')]=qs['limit'](_0x38e5f9['query']['limit']);_0x26da52[_0x0dbf('0x1d')]=qs[_0x0dbf('0x1d')](_0x38e5f9[_0x0dbf('0x2e')][_0x0dbf('0x1d')]);}_0x26da52['order']=qs[_0x0dbf('0x36')](_0x38e5f9['query'][_0x0dbf('0x36')]);_0x26da52[_0x0dbf('0x37')]=qs['filters'](_[_0x0dbf('0x38')](_0x38e5f9[_0x0dbf('0x2e')],_0x3b2635[_0x0dbf('0x2f')]),_0x236243);if(_0x38e5f9[_0x0dbf('0x2e')][_0x0dbf('0x39')]){_0x26da52[_0x0dbf('0x37')]=_[_0x0dbf('0x3a')](_0x26da52['where'],{'$or':_['map'](_0x236243,function(_0x314cba){if(_0x314cba[_0x0dbf('0x2b')]!==_0x0dbf('0x3b')){var _0x4dd63f={};_0x4dd63f[_0x314cba[_0x0dbf('0x27')]]={'$like':'%'+_0x38e5f9[_0x0dbf('0x2e')][_0x0dbf('0x39')]+'%'};return _0x4dd63f;}})});}_0x26da52=_[_0x0dbf('0x3a')]({},_0x26da52,_0x38e5f9[_0x0dbf('0x3c')]);var _0x37c326={'where':_0x26da52[_0x0dbf('0x37')]};return db[_0x0dbf('0x3d')]['count'](_0x37c326)[_0x0dbf('0x24')](function(_0x4b9eb0){_0x5c1034[_0x0dbf('0x20')]=_0x4b9eb0;if(_0x38e5f9[_0x0dbf('0x2e')][_0x0dbf('0x3e')]){_0x26da52['include']=[{'all':!![]}];}return db['SquareRecording']['findAll'](_0x26da52);})['then'](function(_0x59efb6){_0x5c1034[_0x0dbf('0x3f')]=_0x59efb6;return _0x5c1034;})[_0x0dbf('0x24')](respondWithFilteredResult(_0x106167,_0x26da52))[_0x0dbf('0x40')](handleError(_0x106167,null));};exports[_0x0dbf('0x41')]=function(_0x5df3ad,_0x1e1900){var _0x4eba4c={'raw':!![],'where':{'id':_0x5df3ad[_0x0dbf('0x42')]['id']}},_0x42980f={};_0x42980f['model']=_[_0x0dbf('0x43')](db[_0x0dbf('0x3d')][_0x0dbf('0x2a')]);_0x42980f[_0x0dbf('0x2e')]=_[_0x0dbf('0x43')](_0x5df3ad['query']);_0x42980f[_0x0dbf('0x2f')]=_[_0x0dbf('0x31')](_0x42980f[_0x0dbf('0x30')],_0x42980f[_0x0dbf('0x2e')]);_0x4eba4c[_0x0dbf('0x32')]=_['intersection'](_0x42980f[_0x0dbf('0x30')],qs[_0x0dbf('0x44')](_0x5df3ad[_0x0dbf('0x2e')][_0x0dbf('0x44')]));_0x4eba4c['attributes']=_0x4eba4c[_0x0dbf('0x32')][_0x0dbf('0x33')]?_0x4eba4c['attributes']:_0x42980f[_0x0dbf('0x30')];if(_0x5df3ad[_0x0dbf('0x2e')][_0x0dbf('0x3e')]){_0x4eba4c[_0x0dbf('0x45')]=[{'all':!![]}];}_0x4eba4c=_[_0x0dbf('0x3a')]({},_0x4eba4c,_0x5df3ad[_0x0dbf('0x3c')]);return db[_0x0dbf('0x3d')][_0x0dbf('0x46')](_0x4eba4c)['then'](handleEntityNotFound(_0x1e1900,null))[_0x0dbf('0x24')](respondWithResult(_0x1e1900,null))[_0x0dbf('0x40')](handleError(_0x1e1900,null));};exports[_0x0dbf('0x47')]=function(_0x18e252,_0x47c113){return db['SquareRecording']['create'](_0x18e252[_0x0dbf('0x48')],{})[_0x0dbf('0x24')](respondWithResult(_0x47c113,0xc9))[_0x0dbf('0x40')](handleError(_0x47c113,null));};exports[_0x0dbf('0x23')]=function(_0x36e2fa,_0x347915){if(_0x36e2fa[_0x0dbf('0x48')]['id']){delete _0x36e2fa[_0x0dbf('0x48')]['id'];}return db[_0x0dbf('0x3d')][_0x0dbf('0x46')]({'where':{'id':_0x36e2fa[_0x0dbf('0x42')]['id']}})[_0x0dbf('0x24')](handleEntityNotFound(_0x347915,null))[_0x0dbf('0x24')](saveUpdates(_0x36e2fa[_0x0dbf('0x48')],null))[_0x0dbf('0x24')](respondWithResult(_0x347915,null))['catch'](handleError(_0x347915,null));};exports['download']=function(_0x4aa7e4,_0x391f16,_0x7683f4){var _0x2e35bc=require(_0x0dbf('0x49'));var _0x5b9f9e=![];var _0x4b6bfd={};if(_0x4aa7e4[_0x0dbf('0x2e')][_0x0dbf('0x2b')]&&_0x4aa7e4['query'][_0x0dbf('0x2b')]==='uniqueid'){_0x4b6bfd[_0x0dbf('0x4a')]=_0x4aa7e4['params']['id'];}else{_0x4b6bfd['id']=_0x4aa7e4[_0x0dbf('0x42')]['id'];}return db[_0x0dbf('0x3d')][_0x0dbf('0x46')]({'where':_0x4b6bfd,'attributes':['id',_0x0dbf('0x4b'),_0x0dbf('0x4c')],'raw':!![]})[_0x0dbf('0x24')](handleEntityNotFound(_0x391f16,null))[_0x0dbf('0x24')](function(_0x5a4c2d){if(_0x5a4c2d){var _0x22dd19=_0x5a4c2d['savePath'];var _0x574907=util[_0x0dbf('0x4d')](_0x0dbf('0x4e'),_0x22dd19);if(fs[_0x0dbf('0x4f')](_0x574907)){_0x5b9f9e=!![];return _0x2e35bc[_0x0dbf('0x50')](_0x574907,_0x22dd19,config[_0x0dbf('0x51')][_0x0dbf('0x52')])['then'](function(){return _0x5a4c2d;});}return _0x5a4c2d;}})[_0x0dbf('0x24')](function(_0x365344){if(_0x365344){var _0x3717a8=_0x365344['savePath'];if(!fs[_0x0dbf('0x4f')](_0x3717a8)){throw new db[(_0x0dbf('0x53'))][(_0x0dbf('0x54'))](_0x0dbf('0x55'));}if(_0x365344[_0x0dbf('0x4c')]){return _0x391f16[_0x0dbf('0x56')](_0x3717a8,_0x365344[_0x0dbf('0x4c')]+path['extname'](_0x3717a8),function(){if(_0x5b9f9e){fs[_0x0dbf('0x57')](_0x3717a8);}});}else{return _0x391f16[_0x0dbf('0x56')](_0x3717a8,function(_0x3c4691){if(_0x5b9f9e){fs[_0x0dbf('0x57')](_0x3717a8);}});}}})['catch'](function(_0x3556a5){if(_0x3556a5[_0x0dbf('0x58')]===_0x0dbf('0x55')){_0x391f16[_0x0dbf('0x1a')](0x194)[_0x0dbf('0x28')](_0x0dbf('0x59'));}else{return handleError(_0x391f16,null);}});};exports[_0x0dbf('0x25')]=function(_0x864b24,_0x2d1420){return db[_0x0dbf('0x3d')]['find']({'where':{'id':_0x864b24['params']['id']}})[_0x0dbf('0x24')](function(_0x50942d){if(_[_0x0dbf('0x5a')](_0x50942d)){throw new ReferenceError('Entity\x20not\x20found');}return _0x50942d;})[_0x0dbf('0x24')](function(_0x205e80){var _0x126b93=_0x205e80[_0x0dbf('0x4b')];logger['info'](_0x0dbf('0x5b'),_0x126b93);if(!_[_0x0dbf('0x5a')](_0x205e80[_0x0dbf('0x4b')])&&fs['existsSync'](_0x126b93)){logger[_0x0dbf('0x5c')](_0x0dbf('0x5d')+_0x126b93+_0x0dbf('0x5e'));fs[_0x0dbf('0x5f')](_0x126b93);}_0x126b93=_0x126b93+_0x0dbf('0x60');if(!_[_0x0dbf('0x5a')](_0x205e80[_0x0dbf('0x4b')])&&fs[_0x0dbf('0x4f')](_0x126b93)){logger['info'](_0x0dbf('0x5d')+_0x126b93+_0x0dbf('0x5e'));fs[_0x0dbf('0x5f')](_0x126b93);}return _0x205e80;})[_0x0dbf('0x24')](function(_0x5637dd){if(!_0x5637dd)throw new InternalError();return _0x5637dd[_0x0dbf('0x25')]();})[_0x0dbf('0x24')](function(){_0x2d1420['status'](0xcc)[_0x0dbf('0x1b')]();})['catch'](handleError(_0x2d1420,null));};