Built motion from commit 9d0783e6.|2.6.13
[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 _0xa1b3=['extname','unlink','isNil','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','status','end','json','offset','limit','count','set','Content-Range','reject','save','update','destroy','sendStatus','error','stack','name','send','index','map','SquareRecording','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','then','includeAll','include','rows','catch','show','length','options','find','create','body','params','download','../../components/encryptor','uniqueid','savePath','filename','format','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found'];(function(_0x351ae1,_0x5d7aca){var _0x5e13b2=function(_0x191f2a){while(--_0x191f2a){_0x351ae1['push'](_0x351ae1['shift']());}};_0x5e13b2(++_0x5d7aca);}(_0xa1b3,0x195));var _0x3a1b=function(_0x400f28,_0x42d572){_0x400f28=_0x400f28-0x0;var _0x14f387=_0xa1b3[_0x400f28];return _0x14f387;};'use strict';var emlformat=require(_0x3a1b('0x0'));var rimraf=require(_0x3a1b('0x1'));var zipdir=require(_0x3a1b('0x2'));var jsonpatch=require(_0x3a1b('0x3'));var rp=require(_0x3a1b('0x4'));var moment=require(_0x3a1b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x3a1b('0x6'));var util=require(_0x3a1b('0x7'));var path=require(_0x3a1b('0x8'));var sox=require(_0x3a1b('0x9'));var csv=require(_0x3a1b('0xa'));var ejs=require(_0x3a1b('0xb'));var fs=require('fs');var fs_extra=require(_0x3a1b('0xc'));var _=require(_0x3a1b('0xd'));var squel=require(_0x3a1b('0xe'));var crypto=require('crypto');var jsforce=require(_0x3a1b('0xf'));var deskjs=require(_0x3a1b('0x10'));var toCsv=require(_0x3a1b('0xa'));var querystring=require(_0x3a1b('0x11'));var Papa=require(_0x3a1b('0x12'));var Redis=require(_0x3a1b('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x3a1b('0x14'));var hardwareService=require(_0x3a1b('0x15'));var logger=require(_0x3a1b('0x16'))(_0x3a1b('0x17'));var utils=require(_0x3a1b('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x3a1b('0x19'))['db'];function respondWithStatusCode(_0x9bac15,_0x4cf084){_0x4cf084=_0x4cf084||0xcc;return function(_0x29e062){if(_0x29e062){return _0x9bac15['sendStatus'](_0x4cf084);}return _0x9bac15[_0x3a1b('0x1a')](_0x4cf084)[_0x3a1b('0x1b')]();};}function respondWithResult(_0x27269d,_0x42a22b){_0x42a22b=_0x42a22b||0xc8;return function(_0x363f38){if(_0x363f38){return _0x27269d['status'](_0x42a22b)[_0x3a1b('0x1c')](_0x363f38);}};}function respondWithFilteredResult(_0x23527a,_0x4f55b7){return function(_0x537880){if(_0x537880){var _0x4931f6=typeof _0x4f55b7[_0x3a1b('0x1d')]==='undefined'&&typeof _0x4f55b7[_0x3a1b('0x1e')]==='undefined';var _0x5e3abb=_0x537880[_0x3a1b('0x1f')];var _0x1f5148=_0x4931f6?0x0:_0x4f55b7[_0x3a1b('0x1d')];var _0x31f076=_0x4931f6?_0x537880['count']:_0x4f55b7['offset']+_0x4f55b7[_0x3a1b('0x1e')];var _0x569d0e;if(_0x31f076>=_0x5e3abb){_0x31f076=_0x5e3abb;_0x569d0e=0xc8;}else{_0x569d0e=0xce;}_0x23527a[_0x3a1b('0x1a')](_0x569d0e);return _0x23527a[_0x3a1b('0x20')](_0x3a1b('0x21'),_0x1f5148+'-'+_0x31f076+'/'+_0x5e3abb)[_0x3a1b('0x1c')](_0x537880);}return null;};}function patchUpdates(_0x5cd77e){return function(_0x591827){try{jsonpatch['apply'](_0x591827,_0x5cd77e,!![]);}catch(_0x17137f){return BPromise[_0x3a1b('0x22')](_0x17137f);}return _0x591827[_0x3a1b('0x23')]();};}function saveUpdates(_0x33da19,_0x418166){return function(_0x14906d){if(_0x14906d){return _0x14906d[_0x3a1b('0x24')](_0x33da19)['then'](function(_0x1af43b){return _0x1af43b;});}return null;};}function removeEntity(_0x3b12d0,_0x5c1214){return function(_0x1db97d){if(_0x1db97d){return _0x1db97d[_0x3a1b('0x25')]()['then'](function(){_0x3b12d0[_0x3a1b('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3d2cf9,_0x5408d9){return function(_0x319138){if(!_0x319138){_0x3d2cf9[_0x3a1b('0x26')](0x194);}return _0x319138;};}function handleError(_0x5a5edc,_0x2e61ca){_0x2e61ca=_0x2e61ca||0x1f4;return function(_0x5b8368){logger[_0x3a1b('0x27')](_0x5b8368[_0x3a1b('0x28')]);if(_0x5b8368[_0x3a1b('0x29')]){delete _0x5b8368[_0x3a1b('0x29')];}_0x5a5edc[_0x3a1b('0x1a')](_0x2e61ca)[_0x3a1b('0x2a')](_0x5b8368);};}exports[_0x3a1b('0x2b')]=function(_0x4243cd,_0x5c9ffb){var _0x442ed5={},_0x5dc59f={},_0x51ff68={'count':0x0,'rows':[]};var _0x13b955=_[_0x3a1b('0x2c')](db[_0x3a1b('0x2d')][_0x3a1b('0x2e')],function(_0x3596e5){return{'name':_0x3596e5[_0x3a1b('0x2f')],'type':_0x3596e5[_0x3a1b('0x30')][_0x3a1b('0x31')]};});_0x5dc59f['model']=_['map'](_0x13b955,_0x3a1b('0x29'));_0x5dc59f[_0x3a1b('0x32')]=_[_0x3a1b('0x33')](_0x4243cd['query']);_0x5dc59f[_0x3a1b('0x34')]=_[_0x3a1b('0x35')](_0x5dc59f[_0x3a1b('0x36')],_0x5dc59f[_0x3a1b('0x32')]);_0x442ed5[_0x3a1b('0x37')]=_[_0x3a1b('0x35')](_0x5dc59f[_0x3a1b('0x36')],qs[_0x3a1b('0x38')](_0x4243cd['query']['fields']));_0x442ed5['attributes']=_0x442ed5[_0x3a1b('0x37')]['length']?_0x442ed5[_0x3a1b('0x37')]:_0x5dc59f[_0x3a1b('0x36')];if(!_0x4243cd['query'][_0x3a1b('0x39')](_0x3a1b('0x3a'))){_0x442ed5[_0x3a1b('0x1e')]=qs[_0x3a1b('0x1e')](_0x4243cd[_0x3a1b('0x32')]['limit']);_0x442ed5[_0x3a1b('0x1d')]=qs[_0x3a1b('0x1d')](_0x4243cd[_0x3a1b('0x32')][_0x3a1b('0x1d')]);}_0x442ed5['order']=qs[_0x3a1b('0x3b')](_0x4243cd[_0x3a1b('0x32')][_0x3a1b('0x3b')]);_0x442ed5[_0x3a1b('0x3c')]=qs['filters'](_[_0x3a1b('0x3d')](_0x4243cd[_0x3a1b('0x32')],_0x5dc59f[_0x3a1b('0x34')]),_0x13b955);if(_0x4243cd[_0x3a1b('0x32')][_0x3a1b('0x3e')]){_0x442ed5[_0x3a1b('0x3c')]=_[_0x3a1b('0x3f')](_0x442ed5[_0x3a1b('0x3c')],{'$or':_[_0x3a1b('0x2c')](_0x13b955,function(_0x4ca692){if(_0x4ca692[_0x3a1b('0x30')]!==_0x3a1b('0x40')){var _0x17f8bc={};_0x17f8bc[_0x4ca692['name']]={'$like':'%'+_0x4243cd[_0x3a1b('0x32')]['filter']+'%'};return _0x17f8bc;}})});}_0x442ed5=_['merge']({},_0x442ed5,_0x4243cd['options']);var _0x4af36f={'where':_0x442ed5[_0x3a1b('0x3c')]};return db[_0x3a1b('0x2d')][_0x3a1b('0x1f')](_0x4af36f)[_0x3a1b('0x41')](function(_0xda26e1){_0x51ff68[_0x3a1b('0x1f')]=_0xda26e1;if(_0x4243cd[_0x3a1b('0x32')][_0x3a1b('0x42')]){_0x442ed5[_0x3a1b('0x43')]=[{'all':!![]}];}return db[_0x3a1b('0x2d')]['findAll'](_0x442ed5);})['then'](function(_0x54dbcc){_0x51ff68[_0x3a1b('0x44')]=_0x54dbcc;return _0x51ff68;})[_0x3a1b('0x41')](respondWithFilteredResult(_0x5c9ffb,_0x442ed5))[_0x3a1b('0x45')](handleError(_0x5c9ffb,null));};exports[_0x3a1b('0x46')]=function(_0x4d27be,_0x2b6e6b){var _0x2c05e9={'raw':!![],'where':{'id':_0x4d27be['params']['id']}},_0x1d07af={};_0x1d07af['model']=_[_0x3a1b('0x33')](db[_0x3a1b('0x2d')]['rawAttributes']);_0x1d07af[_0x3a1b('0x32')]=_['keys'](_0x4d27be['query']);_0x1d07af['filters']=_[_0x3a1b('0x35')](_0x1d07af[_0x3a1b('0x36')],_0x1d07af[_0x3a1b('0x32')]);_0x2c05e9['attributes']=_[_0x3a1b('0x35')](_0x1d07af[_0x3a1b('0x36')],qs[_0x3a1b('0x38')](_0x4d27be[_0x3a1b('0x32')][_0x3a1b('0x38')]));_0x2c05e9[_0x3a1b('0x37')]=_0x2c05e9['attributes'][_0x3a1b('0x47')]?_0x2c05e9['attributes']:_0x1d07af[_0x3a1b('0x36')];if(_0x4d27be[_0x3a1b('0x32')][_0x3a1b('0x42')]){_0x2c05e9[_0x3a1b('0x43')]=[{'all':!![]}];}_0x2c05e9=_[_0x3a1b('0x3f')]({},_0x2c05e9,_0x4d27be[_0x3a1b('0x48')]);return db['SquareRecording'][_0x3a1b('0x49')](_0x2c05e9)['then'](handleEntityNotFound(_0x2b6e6b,null))[_0x3a1b('0x41')](respondWithResult(_0x2b6e6b,null))[_0x3a1b('0x45')](handleError(_0x2b6e6b,null));};exports[_0x3a1b('0x4a')]=function(_0x553b82,_0x2d73a8){return db['SquareRecording'][_0x3a1b('0x4a')](_0x553b82['body'],{})[_0x3a1b('0x41')](respondWithResult(_0x2d73a8,0xc9))[_0x3a1b('0x45')](handleError(_0x2d73a8,null));};exports['update']=function(_0x106fc8,_0x12ba72){if(_0x106fc8[_0x3a1b('0x4b')]['id']){delete _0x106fc8[_0x3a1b('0x4b')]['id'];}return db[_0x3a1b('0x2d')][_0x3a1b('0x49')]({'where':{'id':_0x106fc8[_0x3a1b('0x4c')]['id']}})['then'](handleEntityNotFound(_0x12ba72,null))[_0x3a1b('0x41')](saveUpdates(_0x106fc8[_0x3a1b('0x4b')],null))[_0x3a1b('0x41')](respondWithResult(_0x12ba72,null))[_0x3a1b('0x45')](handleError(_0x12ba72,null));};exports[_0x3a1b('0x4d')]=function(_0x12beb7,_0x4f0b48,_0x190c85){var _0x543c39=require(_0x3a1b('0x4e'));var _0x5222cd=![];var _0x2c3228={};if(_0x12beb7['query'][_0x3a1b('0x30')]&&_0x12beb7[_0x3a1b('0x32')][_0x3a1b('0x30')]===_0x3a1b('0x4f')){_0x2c3228['uniqueid']=_0x12beb7[_0x3a1b('0x4c')]['id'];}else{_0x2c3228['id']=_0x12beb7[_0x3a1b('0x4c')]['id'];}return db['SquareRecording'][_0x3a1b('0x49')]({'where':_0x2c3228,'attributes':['id',_0x3a1b('0x50'),_0x3a1b('0x51')],'raw':!![]})[_0x3a1b('0x41')](handleEntityNotFound(_0x4f0b48,null))['then'](function(_0x4e64d7){if(_0x4e64d7){var _0x3ca74c=_0x4e64d7[_0x3a1b('0x50')];var _0x3c71d1=util[_0x3a1b('0x52')]('%s.cypher',_0x3ca74c);if(fs[_0x3a1b('0x53')](_0x3c71d1)){_0x5222cd=!![];return _0x543c39[_0x3a1b('0x54')](_0x3c71d1,_0x3ca74c,config[_0x3a1b('0x55')][_0x3a1b('0x56')])[_0x3a1b('0x41')](function(){return _0x4e64d7;});}return _0x4e64d7;}})['then'](function(_0x19030c){if(_0x19030c){var _0x229601=_0x19030c[_0x3a1b('0x50')];if(!fs[_0x3a1b('0x53')](_0x229601)){throw new db[(_0x3a1b('0x57'))][(_0x3a1b('0x58'))](_0x3a1b('0x59'));}if(_0x19030c['filename']){return _0x4f0b48[_0x3a1b('0x4d')](_0x229601,_0x19030c[_0x3a1b('0x51')]+path[_0x3a1b('0x5a')](_0x229601),function(){if(_0x5222cd){fs[_0x3a1b('0x5b')](_0x229601);}});}else{return _0x4f0b48[_0x3a1b('0x4d')](_0x229601,function(_0x4ada4c){if(_0x5222cd){fs[_0x3a1b('0x5b')](_0x229601);}});}}})[_0x3a1b('0x45')](function(_0x1de4ad){if(_0x1de4ad['message']===_0x3a1b('0x59')){_0x4f0b48['status'](0x194)[_0x3a1b('0x2a')]('Not\x20found');}else{return handleError(_0x4f0b48,null);}});};exports['destroy']=function(_0x581f79,_0x32fa26){return db['SquareRecording'][_0x3a1b('0x49')]({'where':{'id':_0x581f79['params']['id']}})['then'](function(_0x21f1e5){if(_[_0x3a1b('0x5c')](_0x21f1e5)){throw new ReferenceError(_0x3a1b('0x5d'));}return _0x21f1e5;})['then'](function(_0x4993ef){var _0x28dc71=_0x4993ef['savePath'];logger['info'](_0x3a1b('0x5e'),_0x28dc71);if(!_[_0x3a1b('0x5c')](_0x4993ef[_0x3a1b('0x50')])&&fs[_0x3a1b('0x53')](_0x28dc71)){logger[_0x3a1b('0x5f')]('File:\x20\x22'+_0x28dc71+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x28dc71);}_0x28dc71=_0x28dc71+'.cypher';if(!_[_0x3a1b('0x5c')](_0x4993ef[_0x3a1b('0x50')])&&fs[_0x3a1b('0x53')](_0x28dc71)){logger['info'](_0x3a1b('0x60')+_0x28dc71+_0x3a1b('0x61'));fs[_0x3a1b('0x62')](_0x28dc71);}return _0x4993ef;})[_0x3a1b('0x41')](function(_0x4767c8){if(!_0x4767c8)throw new InternalError();return _0x4767c8[_0x3a1b('0x25')]();})[_0x3a1b('0x41')](function(){_0x32fa26[_0x3a1b('0x1a')](0xcc)[_0x3a1b('0x1b')]();})['catch'](handleError(_0x32fa26,null));};