Built motion from commit 639a1a7f.|2.6.19
[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 _0x1f5d=['update','../../components/encryptor','uniqueid','filename','savePath','format','%s.cypher','decryptFile','recording','Sequelize','ValidationError','download','unlink','message','SquareRecording\x20not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','existsSync','eml-format','rimraf','zip-dir','fast-json-patch','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','then','destroy','error','name','send','index','SquareRecording','rawAttributes','fieldName','type','key','map','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','options','includeAll','include','findAll','catch','params','find','create','body'];(function(_0x288fec,_0x7dc19f){var _0x24e12a=function(_0x1b81b3){while(--_0x1b81b3){_0x288fec['push'](_0x288fec['shift']());}};_0x24e12a(++_0x7dc19f);}(_0x1f5d,0x76));var _0xd1f5=function(_0x4c9f6a,_0xcb2cb2){_0x4c9f6a=_0x4c9f6a-0x0;var _0x5df5b9=_0x1f5d[_0x4c9f6a];return _0x5df5b9;};'use strict';var emlformat=require(_0xd1f5('0x0'));var rimraf=require(_0xd1f5('0x1'));var zipdir=require(_0xd1f5('0x2'));var jsonpatch=require(_0xd1f5('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xd1f5('0x4'));var util=require('util');var path=require(_0xd1f5('0x5'));var sox=require(_0xd1f5('0x6'));var csv=require(_0xd1f5('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd1f5('0x8'));var _=require(_0xd1f5('0x9'));var squel=require(_0xd1f5('0xa'));var crypto=require(_0xd1f5('0xb'));var jsforce=require(_0xd1f5('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xd1f5('0xd'));var Papa=require(_0xd1f5('0xe'));var Redis=require(_0xd1f5('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd1f5('0x10'));var hardwareService=require(_0xd1f5('0x11'));var logger=require(_0xd1f5('0x12'))(_0xd1f5('0x13'));var utils=require(_0xd1f5('0x14'));var config=require(_0xd1f5('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xd1f5('0x16'))['db'];function respondWithStatusCode(_0x46c17d,_0x29587c){_0x29587c=_0x29587c||0xcc;return function(_0x4f8ecb){if(_0x4f8ecb){return _0x46c17d[_0xd1f5('0x17')](_0x29587c);}return _0x46c17d[_0xd1f5('0x18')](_0x29587c)[_0xd1f5('0x19')]();};}function respondWithResult(_0x1d6465,_0x533c6a){_0x533c6a=_0x533c6a||0xc8;return function(_0x55af73){if(_0x55af73){return _0x1d6465[_0xd1f5('0x18')](_0x533c6a)[_0xd1f5('0x1a')](_0x55af73);}};}function respondWithFilteredResult(_0x25600f,_0x447123){return function(_0x37d3ea){if(_0x37d3ea){var _0x27b877=typeof _0x447123[_0xd1f5('0x1b')]===_0xd1f5('0x1c')&&typeof _0x447123[_0xd1f5('0x1d')]===_0xd1f5('0x1c');var _0x11fd8a=_0x37d3ea[_0xd1f5('0x1e')];var _0x1f8863=_0x27b877?0x0:_0x447123['offset'];var _0x5453de=_0x27b877?_0x37d3ea[_0xd1f5('0x1e')]:_0x447123[_0xd1f5('0x1b')]+_0x447123[_0xd1f5('0x1d')];var _0x9549d3;if(_0x5453de>=_0x11fd8a){_0x5453de=_0x11fd8a;_0x9549d3=0xc8;}else{_0x9549d3=0xce;}_0x25600f['status'](_0x9549d3);return _0x25600f[_0xd1f5('0x1f')](_0xd1f5('0x20'),_0x1f8863+'-'+_0x5453de+'/'+_0x11fd8a)['json'](_0x37d3ea);}return null;};}function patchUpdates(_0x441c7f){return function(_0x3629ab){try{jsonpatch['apply'](_0x3629ab,_0x441c7f,!![]);}catch(_0x5e881d){return BPromise[_0xd1f5('0x21')](_0x5e881d);}return _0x3629ab[_0xd1f5('0x22')]();};}function saveUpdates(_0x16b903,_0x10494f){return function(_0x397ac2){if(_0x397ac2){return _0x397ac2['update'](_0x16b903)[_0xd1f5('0x23')](function(_0x5d2036){return _0x5d2036;});}return null;};}function removeEntity(_0x1e9681,_0x5a562c){return function(_0xfce66e){if(_0xfce66e){return _0xfce66e[_0xd1f5('0x24')]()['then'](function(){_0x1e9681['status'](0xcc)[_0xd1f5('0x19')]();});}};}function handleEntityNotFound(_0x2f5d2d,_0x2d24a1){return function(_0x475b52){if(!_0x475b52){_0x2f5d2d[_0xd1f5('0x17')](0x194);}return _0x475b52;};}function handleError(_0xa3898f,_0x4cb9b5){_0x4cb9b5=_0x4cb9b5||0x1f4;return function(_0x33379f){logger[_0xd1f5('0x25')](_0x33379f['stack']);if(_0x33379f[_0xd1f5('0x26')]){delete _0x33379f[_0xd1f5('0x26')];}_0xa3898f[_0xd1f5('0x18')](_0x4cb9b5)[_0xd1f5('0x27')](_0x33379f);};}exports[_0xd1f5('0x28')]=function(_0x14ecda,_0x361a31){var _0x371ef5={},_0x3b14ed={},_0x2c9a9d={'count':0x0,'rows':[]};var _0x142517=_['map'](db[_0xd1f5('0x29')][_0xd1f5('0x2a')],function(_0x165d53){return{'name':_0x165d53[_0xd1f5('0x2b')],'type':_0x165d53[_0xd1f5('0x2c')][_0xd1f5('0x2d')]};});_0x3b14ed['model']=_[_0xd1f5('0x2e')](_0x142517,_0xd1f5('0x26'));_0x3b14ed[_0xd1f5('0x2f')]=_[_0xd1f5('0x30')](_0x14ecda[_0xd1f5('0x2f')]);_0x3b14ed[_0xd1f5('0x31')]=_['intersection'](_0x3b14ed[_0xd1f5('0x32')],_0x3b14ed[_0xd1f5('0x2f')]);_0x371ef5[_0xd1f5('0x33')]=_[_0xd1f5('0x34')](_0x3b14ed[_0xd1f5('0x32')],qs['fields'](_0x14ecda[_0xd1f5('0x2f')][_0xd1f5('0x35')]));_0x371ef5[_0xd1f5('0x33')]=_0x371ef5[_0xd1f5('0x33')][_0xd1f5('0x36')]?_0x371ef5['attributes']:_0x3b14ed[_0xd1f5('0x32')];if(!_0x14ecda['query'][_0xd1f5('0x37')](_0xd1f5('0x38'))){_0x371ef5[_0xd1f5('0x1d')]=qs[_0xd1f5('0x1d')](_0x14ecda['query'][_0xd1f5('0x1d')]);_0x371ef5[_0xd1f5('0x1b')]=qs['offset'](_0x14ecda[_0xd1f5('0x2f')][_0xd1f5('0x1b')]);}_0x371ef5[_0xd1f5('0x39')]=qs[_0xd1f5('0x3a')](_0x14ecda['query'][_0xd1f5('0x3a')]);_0x371ef5[_0xd1f5('0x3b')]=qs[_0xd1f5('0x31')](_[_0xd1f5('0x3c')](_0x14ecda[_0xd1f5('0x2f')],_0x3b14ed['filters']),_0x142517);if(_0x14ecda[_0xd1f5('0x2f')]['filter']){_0x371ef5['where']=_[_0xd1f5('0x3d')](_0x371ef5['where'],{'$or':_[_0xd1f5('0x2e')](_0x142517,function(_0x12d3cd){if(_0x12d3cd[_0xd1f5('0x2c')]!=='VIRTUAL'){var _0x40a12b={};_0x40a12b[_0x12d3cd[_0xd1f5('0x26')]]={'$like':'%'+_0x14ecda[_0xd1f5('0x2f')][_0xd1f5('0x3e')]+'%'};return _0x40a12b;}})});}_0x371ef5=_['merge']({},_0x371ef5,_0x14ecda[_0xd1f5('0x3f')]);var _0xa85afe={'where':_0x371ef5[_0xd1f5('0x3b')]};return db[_0xd1f5('0x29')][_0xd1f5('0x1e')](_0xa85afe)['then'](function(_0x248f4a){_0x2c9a9d[_0xd1f5('0x1e')]=_0x248f4a;if(_0x14ecda[_0xd1f5('0x2f')][_0xd1f5('0x40')]){_0x371ef5[_0xd1f5('0x41')]=[{'all':!![]}];}return db[_0xd1f5('0x29')][_0xd1f5('0x42')](_0x371ef5);})[_0xd1f5('0x23')](function(_0x4ffda0){_0x2c9a9d['rows']=_0x4ffda0;return _0x2c9a9d;})[_0xd1f5('0x23')](respondWithFilteredResult(_0x361a31,_0x371ef5))[_0xd1f5('0x43')](handleError(_0x361a31,null));};exports['show']=function(_0x546ae8,_0x237bbc){var _0xd0e885={'raw':!![],'where':{'id':_0x546ae8[_0xd1f5('0x44')]['id']}},_0x479f5b={};_0x479f5b[_0xd1f5('0x32')]=_[_0xd1f5('0x30')](db['SquareRecording'][_0xd1f5('0x2a')]);_0x479f5b['query']=_[_0xd1f5('0x30')](_0x546ae8[_0xd1f5('0x2f')]);_0x479f5b['filters']=_[_0xd1f5('0x34')](_0x479f5b[_0xd1f5('0x32')],_0x479f5b[_0xd1f5('0x2f')]);_0xd0e885['attributes']=_[_0xd1f5('0x34')](_0x479f5b[_0xd1f5('0x32')],qs['fields'](_0x546ae8['query'][_0xd1f5('0x35')]));_0xd0e885[_0xd1f5('0x33')]=_0xd0e885[_0xd1f5('0x33')][_0xd1f5('0x36')]?_0xd0e885[_0xd1f5('0x33')]:_0x479f5b[_0xd1f5('0x32')];if(_0x546ae8['query'][_0xd1f5('0x40')]){_0xd0e885[_0xd1f5('0x41')]=[{'all':!![]}];}_0xd0e885=_[_0xd1f5('0x3d')]({},_0xd0e885,_0x546ae8[_0xd1f5('0x3f')]);return db['SquareRecording'][_0xd1f5('0x45')](_0xd0e885)[_0xd1f5('0x23')](handleEntityNotFound(_0x237bbc,null))[_0xd1f5('0x23')](respondWithResult(_0x237bbc,null))['catch'](handleError(_0x237bbc,null));};exports[_0xd1f5('0x46')]=function(_0x5d2c68,_0x5d2719){return db[_0xd1f5('0x29')][_0xd1f5('0x46')](_0x5d2c68[_0xd1f5('0x47')],{})['then'](respondWithResult(_0x5d2719,0xc9))['catch'](handleError(_0x5d2719,null));};exports[_0xd1f5('0x48')]=function(_0x158311,_0x1ce186){if(_0x158311[_0xd1f5('0x47')]['id']){delete _0x158311[_0xd1f5('0x47')]['id'];}return db[_0xd1f5('0x29')]['find']({'where':{'id':_0x158311['params']['id']}})[_0xd1f5('0x23')](handleEntityNotFound(_0x1ce186,null))['then'](saveUpdates(_0x158311['body'],null))[_0xd1f5('0x23')](respondWithResult(_0x1ce186,null))[_0xd1f5('0x43')](handleError(_0x1ce186,null));};exports['download']=function(_0x518242,_0x4d9cc3,_0x1afcf0){var _0xb21a1a=require(_0xd1f5('0x49'));var _0x153aeb=![];var _0x2e9af3={};if(_0x518242['query']['type']&&_0x518242['query'][_0xd1f5('0x2c')]==='uniqueid'){_0x2e9af3[_0xd1f5('0x4a')]=_0x518242[_0xd1f5('0x44')]['id'];}else{_0x2e9af3['id']=_0x518242[_0xd1f5('0x44')]['id'];}return db[_0xd1f5('0x29')]['find']({'where':_0x2e9af3,'attributes':['id','savePath',_0xd1f5('0x4b')],'raw':!![]})['then'](handleEntityNotFound(_0x4d9cc3,null))['then'](function(_0x6580ee){if(_0x6580ee){var _0x216e55=_0x6580ee[_0xd1f5('0x4c')];var _0x39a158=util[_0xd1f5('0x4d')](_0xd1f5('0x4e'),_0x216e55);if(fs['existsSync'](_0x39a158)){_0x153aeb=!![];return _0xb21a1a[_0xd1f5('0x4f')](_0x39a158,_0x216e55,config['secrets'][_0xd1f5('0x50')])[_0xd1f5('0x23')](function(){return _0x6580ee;});}return _0x6580ee;}})['then'](function(_0xb8595d){if(_0xb8595d){var _0x20ee21=_0xb8595d[_0xd1f5('0x4c')];if(!fs['existsSync'](_0x20ee21)){throw new db[(_0xd1f5('0x51'))][(_0xd1f5('0x52'))]('SquareRecording\x20not\x20found');}if(_0xb8595d[_0xd1f5('0x4b')]){return _0x4d9cc3[_0xd1f5('0x53')](_0x20ee21,_0xb8595d[_0xd1f5('0x4b')]+path['extname'](_0x20ee21),function(){if(_0x153aeb){fs[_0xd1f5('0x54')](_0x20ee21);}});}else{return _0x4d9cc3[_0xd1f5('0x53')](_0x20ee21,function(_0x5a2231){if(_0x153aeb){fs[_0xd1f5('0x54')](_0x20ee21);}});}}})[_0xd1f5('0x43')](function(_0x5badee){if(_0x5badee[_0xd1f5('0x55')]===_0xd1f5('0x56')){_0x4d9cc3['status'](0x194)['send']('Not\x20found');}else{return handleError(_0x4d9cc3,null);}});};exports[_0xd1f5('0x24')]=function(_0x2a0d23,_0x39178f){return db['SquareRecording'][_0xd1f5('0x45')]({'where':{'id':_0x2a0d23['params']['id']}})[_0xd1f5('0x23')](function(_0x19e67a){if(_[_0xd1f5('0x57')](_0x19e67a)){throw new ReferenceError(_0xd1f5('0x58'));}return _0x19e67a;})[_0xd1f5('0x23')](function(_0x2b8a18){var _0x426243=_0x2b8a18[_0xd1f5('0x4c')];logger[_0xd1f5('0x59')](_0xd1f5('0x5a'),_0x426243);if(!_[_0xd1f5('0x57')](_0x2b8a18[_0xd1f5('0x4c')])&&fs['existsSync'](_0x426243)){logger[_0xd1f5('0x59')](_0xd1f5('0x5b')+_0x426243+_0xd1f5('0x5c'));fs[_0xd1f5('0x5d')](_0x426243);}_0x426243=_0x426243+'.cypher';if(!_[_0xd1f5('0x57')](_0x2b8a18[_0xd1f5('0x4c')])&&fs[_0xd1f5('0x5e')](_0x426243)){logger[_0xd1f5('0x59')](_0xd1f5('0x5b')+_0x426243+_0xd1f5('0x5c'));fs[_0xd1f5('0x5d')](_0x426243);}return _0x2b8a18;})['then'](function(_0x518e00){if(!_0x518e00)throw new InternalError();return _0x518e00[_0xd1f5('0x24')]();})['then'](function(){_0x39178f[_0xd1f5('0x18')](0xcc)[_0xd1f5('0x19')]();})[_0xd1f5('0x43')](handleError(_0x39178f,null));};