287203dc69ceed75696c40ba654599c436e9c226
[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 _0xef04=['cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','status','json','undefined','offset','count','limit','set','apply','update','then','end','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','SquareRecording','findAll','rows','catch','find','body','params','../../components/encryptor','uniqueid','savePath','filename','%s.cypher','existsSync','decryptFile','secrets','recording','ValidationError','SquareRecording\x20not\x20found','download','extname','unlink','message','destroy','Entity\x20not\x20found','info'];(function(_0x3d860b,_0x209bf7){var _0x5036b9=function(_0x565f1b){while(--_0x565f1b){_0x3d860b['push'](_0x3d860b['shift']());}};_0x5036b9(++_0x209bf7);}(_0xef04,0x18e));var _0x4ef0=function(_0x15927e,_0x8a89dd){_0x15927e=_0x15927e-0x0;var _0x2c2c0a=_0xef04[_0x15927e];return _0x2c2c0a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4ef0('0x0'));var zipdir=require(_0x4ef0('0x1'));var jsonpatch=require(_0x4ef0('0x2'));var rp=require(_0x4ef0('0x3'));var moment=require(_0x4ef0('0x4'));var BPromise=require(_0x4ef0('0x5'));var Mustache=require('mustache');var util=require(_0x4ef0('0x6'));var path=require(_0x4ef0('0x7'));var sox=require(_0x4ef0('0x8'));var csv=require(_0x4ef0('0x9'));var ejs=require(_0x4ef0('0xa'));var fs=require('fs');var fs_extra=require(_0x4ef0('0xb'));var _=require(_0x4ef0('0xc'));var squel=require(_0x4ef0('0xd'));var crypto=require(_0x4ef0('0xe'));var jsforce=require(_0x4ef0('0xf'));var deskjs=require(_0x4ef0('0x10'));var toCsv=require(_0x4ef0('0x9'));var querystring=require(_0x4ef0('0x11'));var Papa=require('papaparse');var Redis=require(_0x4ef0('0x12'));var authService=require(_0x4ef0('0x13'));var qs=require(_0x4ef0('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4ef0('0x15'));var logger=require(_0x4ef0('0x16'))(_0x4ef0('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x4ef0('0x18'));var db=require(_0x4ef0('0x19'))['db'];function respondWithStatusCode(_0x1bd193,_0x14be45){_0x14be45=_0x14be45||0xcc;return function(_0x4a93a5){if(_0x4a93a5){return _0x1bd193['sendStatus'](_0x14be45);}return _0x1bd193[_0x4ef0('0x1a')](_0x14be45)['end']();};}function respondWithResult(_0xc67c96,_0x1ff0d0){_0x1ff0d0=_0x1ff0d0||0xc8;return function(_0x583566){if(_0x583566){return _0xc67c96['status'](_0x1ff0d0)[_0x4ef0('0x1b')](_0x583566);}};}function respondWithFilteredResult(_0x805ea4,_0x56bb13){return function(_0x21251e){if(_0x21251e){var _0x2c0c4a=typeof _0x56bb13['offset']===_0x4ef0('0x1c')&&typeof _0x56bb13['limit']==='undefined';var _0x3e14e6=_0x21251e['count'];var _0x26c965=_0x2c0c4a?0x0:_0x56bb13[_0x4ef0('0x1d')];var _0x2b0494=_0x2c0c4a?_0x21251e[_0x4ef0('0x1e')]:_0x56bb13['offset']+_0x56bb13[_0x4ef0('0x1f')];var _0x2e9fce;if(_0x2b0494>=_0x3e14e6){_0x2b0494=_0x3e14e6;_0x2e9fce=0xc8;}else{_0x2e9fce=0xce;}_0x805ea4['status'](_0x2e9fce);return _0x805ea4[_0x4ef0('0x20')]('Content-Range',_0x26c965+'-'+_0x2b0494+'/'+_0x3e14e6)[_0x4ef0('0x1b')](_0x21251e);}return null;};}function patchUpdates(_0x4cb1e0){return function(_0x464213){try{jsonpatch[_0x4ef0('0x21')](_0x464213,_0x4cb1e0,!![]);}catch(_0x2dd992){return BPromise['reject'](_0x2dd992);}return _0x464213['save']();};}function saveUpdates(_0x5a62c4,_0x5e912d){return function(_0xa9b349){if(_0xa9b349){return _0xa9b349[_0x4ef0('0x22')](_0x5a62c4)['then'](function(_0x399a18){return _0x399a18;});}return null;};}function removeEntity(_0x4dd8b3,_0x591a83){return function(_0x44a92a){if(_0x44a92a){return _0x44a92a['destroy']()[_0x4ef0('0x23')](function(){_0x4dd8b3[_0x4ef0('0x1a')](0xcc)[_0x4ef0('0x24')]();});}};}function handleEntityNotFound(_0x37f55b,_0xd49b15){return function(_0x244480){if(!_0x244480){_0x37f55b[_0x4ef0('0x25')](0x194);}return _0x244480;};}function handleError(_0x33d988,_0x62b781){_0x62b781=_0x62b781||0x1f4;return function(_0x475c8c){logger[_0x4ef0('0x26')](_0x475c8c[_0x4ef0('0x27')]);if(_0x475c8c[_0x4ef0('0x28')]){delete _0x475c8c[_0x4ef0('0x28')];}_0x33d988[_0x4ef0('0x1a')](_0x62b781)[_0x4ef0('0x29')](_0x475c8c);};}exports[_0x4ef0('0x2a')]=function(_0x375999,_0x33df70){var _0x4f2bf9={},_0x5e5f3c={},_0x1aa90b={'count':0x0,'rows':[]};var _0x238282=_[_0x4ef0('0x2b')](db['SquareRecording'][_0x4ef0('0x2c')],function(_0x51e55b){return{'name':_0x51e55b[_0x4ef0('0x2d')],'type':_0x51e55b[_0x4ef0('0x2e')][_0x4ef0('0x2f')]};});_0x5e5f3c[_0x4ef0('0x30')]=_['map'](_0x238282,_0x4ef0('0x28'));_0x5e5f3c['query']=_[_0x4ef0('0x31')](_0x375999[_0x4ef0('0x32')]);_0x5e5f3c['filters']=_[_0x4ef0('0x33')](_0x5e5f3c['model'],_0x5e5f3c[_0x4ef0('0x32')]);_0x4f2bf9[_0x4ef0('0x34')]=_['intersection'](_0x5e5f3c[_0x4ef0('0x30')],qs['fields'](_0x375999[_0x4ef0('0x32')][_0x4ef0('0x35')]));_0x4f2bf9[_0x4ef0('0x34')]=_0x4f2bf9[_0x4ef0('0x34')][_0x4ef0('0x36')]?_0x4f2bf9[_0x4ef0('0x34')]:_0x5e5f3c[_0x4ef0('0x30')];if(!_0x375999[_0x4ef0('0x32')][_0x4ef0('0x37')](_0x4ef0('0x38'))){_0x4f2bf9[_0x4ef0('0x1f')]=qs[_0x4ef0('0x1f')](_0x375999[_0x4ef0('0x32')][_0x4ef0('0x1f')]);_0x4f2bf9[_0x4ef0('0x1d')]=qs[_0x4ef0('0x1d')](_0x375999[_0x4ef0('0x32')][_0x4ef0('0x1d')]);}_0x4f2bf9['order']=qs[_0x4ef0('0x39')](_0x375999[_0x4ef0('0x32')][_0x4ef0('0x39')]);_0x4f2bf9[_0x4ef0('0x3a')]=qs[_0x4ef0('0x3b')](_[_0x4ef0('0x3c')](_0x375999[_0x4ef0('0x32')],_0x5e5f3c[_0x4ef0('0x3b')]),_0x238282);if(_0x375999[_0x4ef0('0x32')][_0x4ef0('0x3d')]){_0x4f2bf9[_0x4ef0('0x3a')]=_[_0x4ef0('0x3e')](_0x4f2bf9[_0x4ef0('0x3a')],{'$or':_[_0x4ef0('0x2b')](_0x238282,function(_0x205e77){if(_0x205e77[_0x4ef0('0x2e')]!==_0x4ef0('0x3f')){var _0x5e3850={};_0x5e3850[_0x205e77['name']]={'$like':'%'+_0x375999[_0x4ef0('0x32')]['filter']+'%'};return _0x5e3850;}})});}_0x4f2bf9=_[_0x4ef0('0x3e')]({},_0x4f2bf9,_0x375999[_0x4ef0('0x40')]);var _0x1233ae={'where':_0x4f2bf9[_0x4ef0('0x3a')]};return db['SquareRecording'][_0x4ef0('0x1e')](_0x1233ae)[_0x4ef0('0x23')](function(_0x5e54c0){_0x1aa90b[_0x4ef0('0x1e')]=_0x5e54c0;if(_0x375999[_0x4ef0('0x32')][_0x4ef0('0x41')]){_0x4f2bf9[_0x4ef0('0x42')]=[{'all':!![]}];}return db[_0x4ef0('0x43')][_0x4ef0('0x44')](_0x4f2bf9);})[_0x4ef0('0x23')](function(_0x30a495){_0x1aa90b[_0x4ef0('0x45')]=_0x30a495;return _0x1aa90b;})[_0x4ef0('0x23')](respondWithFilteredResult(_0x33df70,_0x4f2bf9))[_0x4ef0('0x46')](handleError(_0x33df70,null));};exports['show']=function(_0x16b885,_0x3922d3){var _0x43d843={'raw':!![],'where':{'id':_0x16b885['params']['id']}},_0x42ece8={};_0x42ece8[_0x4ef0('0x30')]=_[_0x4ef0('0x31')](db[_0x4ef0('0x43')][_0x4ef0('0x2c')]);_0x42ece8[_0x4ef0('0x32')]=_[_0x4ef0('0x31')](_0x16b885['query']);_0x42ece8[_0x4ef0('0x3b')]=_[_0x4ef0('0x33')](_0x42ece8[_0x4ef0('0x30')],_0x42ece8[_0x4ef0('0x32')]);_0x43d843['attributes']=_[_0x4ef0('0x33')](_0x42ece8[_0x4ef0('0x30')],qs['fields'](_0x16b885['query'][_0x4ef0('0x35')]));_0x43d843[_0x4ef0('0x34')]=_0x43d843[_0x4ef0('0x34')]['length']?_0x43d843[_0x4ef0('0x34')]:_0x42ece8['model'];if(_0x16b885['query'][_0x4ef0('0x41')]){_0x43d843['include']=[{'all':!![]}];}_0x43d843=_[_0x4ef0('0x3e')]({},_0x43d843,_0x16b885[_0x4ef0('0x40')]);return db['SquareRecording'][_0x4ef0('0x47')](_0x43d843)[_0x4ef0('0x23')](handleEntityNotFound(_0x3922d3,null))[_0x4ef0('0x23')](respondWithResult(_0x3922d3,null))[_0x4ef0('0x46')](handleError(_0x3922d3,null));};exports['create']=function(_0x1aec22,_0x530d95){return db[_0x4ef0('0x43')]['create'](_0x1aec22[_0x4ef0('0x48')],{})[_0x4ef0('0x23')](respondWithResult(_0x530d95,0xc9))[_0x4ef0('0x46')](handleError(_0x530d95,null));};exports['update']=function(_0x803a76,_0x487e85){if(_0x803a76['body']['id']){delete _0x803a76['body']['id'];}return db['SquareRecording'][_0x4ef0('0x47')]({'where':{'id':_0x803a76[_0x4ef0('0x49')]['id']}})[_0x4ef0('0x23')](handleEntityNotFound(_0x487e85,null))[_0x4ef0('0x23')](saveUpdates(_0x803a76['body'],null))[_0x4ef0('0x23')](respondWithResult(_0x487e85,null))['catch'](handleError(_0x487e85,null));};exports['download']=function(_0x6985a8,_0x1a51b4,_0x353677){var _0x18605a=require(_0x4ef0('0x4a'));var _0x34f4d0=![];var _0x53852c={};if(_0x6985a8[_0x4ef0('0x32')]['type']&&_0x6985a8[_0x4ef0('0x32')][_0x4ef0('0x2e')]===_0x4ef0('0x4b')){_0x53852c[_0x4ef0('0x4b')]=_0x6985a8[_0x4ef0('0x49')]['id'];}else{_0x53852c['id']=_0x6985a8['params']['id'];}return db['SquareRecording'][_0x4ef0('0x47')]({'where':_0x53852c,'attributes':['id',_0x4ef0('0x4c'),_0x4ef0('0x4d')],'raw':!![]})[_0x4ef0('0x23')](handleEntityNotFound(_0x1a51b4,null))['then'](function(_0x445ac1){if(_0x445ac1){var _0x2141be=_0x445ac1['savePath'];var _0x5b6428=util['format'](_0x4ef0('0x4e'),_0x2141be);if(fs[_0x4ef0('0x4f')](_0x5b6428)){_0x34f4d0=!![];return _0x18605a[_0x4ef0('0x50')](_0x5b6428,_0x2141be,config[_0x4ef0('0x51')][_0x4ef0('0x52')])['then'](function(){return _0x445ac1;});}return _0x445ac1;}})[_0x4ef0('0x23')](function(_0x102392){if(_0x102392){var _0x3dd168=_0x102392['savePath'];if(!fs['existsSync'](_0x3dd168)){throw new db['Sequelize'][(_0x4ef0('0x53'))](_0x4ef0('0x54'));}if(_0x102392[_0x4ef0('0x4d')]){return _0x1a51b4[_0x4ef0('0x55')](_0x3dd168,_0x102392[_0x4ef0('0x4d')]+path[_0x4ef0('0x56')](_0x3dd168),function(){if(_0x34f4d0){fs['unlink'](_0x3dd168);}});}else{return _0x1a51b4[_0x4ef0('0x55')](_0x3dd168,function(_0x59738b){if(_0x34f4d0){fs[_0x4ef0('0x57')](_0x3dd168);}});}}})[_0x4ef0('0x46')](function(_0x4f6e2c){if(_0x4f6e2c[_0x4ef0('0x58')]==='SquareRecording\x20not\x20found'){_0x1a51b4[_0x4ef0('0x1a')](0x194)[_0x4ef0('0x29')]('Not\x20found');}else{return handleError(_0x1a51b4,null);}});};exports[_0x4ef0('0x59')]=function(_0xd8b041,_0xa37293){return db[_0x4ef0('0x43')][_0x4ef0('0x47')]({'where':{'id':_0xd8b041[_0x4ef0('0x49')]['id']}})[_0x4ef0('0x23')](function(_0x306763){if(_['isNil'](_0x306763)){throw new ReferenceError(_0x4ef0('0x5a'));}return _0x306763;})['then'](function(_0x2e7480){var _0xfc98d6=_0x2e7480['savePath'];logger[_0x4ef0('0x5b')](_0x4ef0('0x5c'),_0xfc98d6);if(!_[_0x4ef0('0x5d')](_0x2e7480['savePath'])&&fs[_0x4ef0('0x4f')](_0xfc98d6)){logger[_0x4ef0('0x5b')](_0x4ef0('0x5e')+_0xfc98d6+_0x4ef0('0x5f'));fs['unlinkSync'](_0xfc98d6);}_0xfc98d6=_0xfc98d6+_0x4ef0('0x60');if(!_[_0x4ef0('0x5d')](_0x2e7480[_0x4ef0('0x4c')])&&fs[_0x4ef0('0x4f')](_0xfc98d6)){logger[_0x4ef0('0x5b')](_0x4ef0('0x5e')+_0xfc98d6+_0x4ef0('0x5f'));fs[_0x4ef0('0x61')](_0xfc98d6);}return _0x2e7480;})[_0x4ef0('0x23')](function(_0x576496){if(!_0x576496)throw new InternalError();return _0x576496['destroy']();})[_0x4ef0('0x23')](function(){_0xa37293[_0x4ef0('0x1a')](0xcc)[_0x4ef0('0x24')]();})[_0x4ef0('0x46')](handleError(_0xa37293,null));};