Built motion from commit (unavailable).|2.5.14
[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 _0x1cf0=['path','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','count','offset','limit','Content-Range','json','apply','reject','save','then','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','where','pick','filter','merge','SquareRecording','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','download','../../components/encryptor','uniqueid','format','existsSync','decryptFile','Sequelize','SquareRecording\x20not\x20found','filename','extname','unlink','message','Entity\x20not\x20found','savePath','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0xa9f9b3,_0x1cfc5c){var _0x34814c=function(_0x114ccb){while(--_0x114ccb){_0xa9f9b3['push'](_0xa9f9b3['shift']());}};_0x34814c(++_0x1cfc5c);}(_0x1cf0,0x182));var _0x01cf=function(_0x2df507,_0x553862){_0x2df507=_0x2df507-0x0;var _0x1f7167=_0x1cf0[_0x2df507];return _0x1f7167;};'use strict';var pdf=require(_0x01cf('0x0'));var emlformat=require(_0x01cf('0x1'));var rimraf=require(_0x01cf('0x2'));var zipdir=require(_0x01cf('0x3'));var jsonpatch=require(_0x01cf('0x4'));var rp=require(_0x01cf('0x5'));var moment=require(_0x01cf('0x6'));var BPromise=require(_0x01cf('0x7'));var Mustache=require(_0x01cf('0x8'));var util=require(_0x01cf('0x9'));var path=require(_0x01cf('0xa'));var sox=require('sox');var csv=require(_0x01cf('0xb'));var ejs=require(_0x01cf('0xc'));var fs=require('fs');var _=require(_0x01cf('0xd'));var squel=require(_0x01cf('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x01cf('0xf'));var toCsv=require(_0x01cf('0xb'));var querystring=require(_0x01cf('0x10'));var Papa=require(_0x01cf('0x11'));var Redis=require(_0x01cf('0x12'));var authService=require(_0x01cf('0x13'));var qs=require(_0x01cf('0x14'));var as=require(_0x01cf('0x15'));var hardwareService=require(_0x01cf('0x16'));var logger=require(_0x01cf('0x17'))(_0x01cf('0x18'));var utils=require(_0x01cf('0x19'));var config=require(_0x01cf('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0x01cf('0x1b'))['db'];function respondWithStatusCode(_0x468013,_0x36ec9c){_0x36ec9c=_0x36ec9c||0xcc;return function(_0xfd2483){if(_0xfd2483){return _0x468013['sendStatus'](_0x36ec9c);}return _0x468013[_0x01cf('0x1c')](_0x36ec9c)[_0x01cf('0x1d')]();};}function respondWithResult(_0xadd45e,_0x26fcd9){_0x26fcd9=_0x26fcd9||0xc8;return function(_0x143922){if(_0x143922){return _0xadd45e['status'](_0x26fcd9)['json'](_0x143922);}};}function respondWithFilteredResult(_0x3c9f37,_0x2602d7){return function(_0x1c4bb5){if(_0x1c4bb5){var _0x163c6b=_0x1c4bb5[_0x01cf('0x1e')],_0xcb6a10=_0x2602d7['offset'],_0xdf25e8=_0x2602d7[_0x01cf('0x1f')]+_0x2602d7[_0x01cf('0x20')],_0x23b12a;if(_0xdf25e8>=_0x163c6b){_0xdf25e8=_0x163c6b;_0x23b12a=0xc8;}else{_0x23b12a=0xce;}_0x3c9f37['status'](_0x23b12a);return _0x3c9f37['set'](_0x01cf('0x21'),_0xcb6a10+'-'+_0xdf25e8+'/'+_0x163c6b)[_0x01cf('0x22')](_0x1c4bb5);}return null;};}function patchUpdates(_0x558e4d){return function(_0x341b7a){try{jsonpatch[_0x01cf('0x23')](_0x341b7a,_0x558e4d,!![]);}catch(_0x3f369f){return BPromise[_0x01cf('0x24')](_0x3f369f);}return _0x341b7a[_0x01cf('0x25')]();};}function saveUpdates(_0x2b40e3,_0x34c514){return function(_0x3a877c){if(_0x3a877c){return _0x3a877c['update'](_0x2b40e3)[_0x01cf('0x26')](function(_0x33f6a0){return _0x33f6a0;});}return null;};}function removeEntity(_0x2efce9,_0x46f94d){return function(_0xea3044){if(_0xea3044){return _0xea3044['destroy']()['then'](function(){_0x2efce9[_0x01cf('0x1c')](0xcc)[_0x01cf('0x1d')]();});}};}function handleEntityNotFound(_0x19f976,_0xad4fa7){return function(_0x14760c){if(!_0x14760c){_0x19f976[_0x01cf('0x27')](0x194);}return _0x14760c;};}function handleError(_0xf56ec2,_0x2b30e3){_0x2b30e3=_0x2b30e3||0x1f4;return function(_0x297166){logger[_0x01cf('0x28')](_0x297166[_0x01cf('0x29')]);if(_0x297166[_0x01cf('0x2a')]){delete _0x297166[_0x01cf('0x2a')];}_0xf56ec2[_0x01cf('0x1c')](_0x2b30e3)[_0x01cf('0x2b')](_0x297166);};}exports[_0x01cf('0x2c')]=function(_0x466a7e,_0x1bcb29){var _0x476aa8={},_0x304768={},_0x4d1081={'count':0x0,'rows':[]};var _0x486105=_[_0x01cf('0x2d')](db['SquareRecording'][_0x01cf('0x2e')],function(_0x12aeb3){return{'name':_0x12aeb3[_0x01cf('0x2f')],'type':_0x12aeb3[_0x01cf('0x30')][_0x01cf('0x31')]};});_0x304768['model']=_[_0x01cf('0x2d')](_0x486105,_0x01cf('0x2a'));_0x304768[_0x01cf('0x32')]=_[_0x01cf('0x33')](_0x466a7e[_0x01cf('0x32')]);_0x304768[_0x01cf('0x34')]=_[_0x01cf('0x35')](_0x304768[_0x01cf('0x36')],_0x304768['query']);_0x476aa8[_0x01cf('0x37')]=_[_0x01cf('0x35')](_0x304768['model'],qs[_0x01cf('0x38')](_0x466a7e[_0x01cf('0x32')][_0x01cf('0x38')]));_0x476aa8[_0x01cf('0x37')]=_0x476aa8[_0x01cf('0x37')][_0x01cf('0x39')]?_0x476aa8[_0x01cf('0x37')]:_0x304768[_0x01cf('0x36')];if(!_0x466a7e['query'][_0x01cf('0x3a')](_0x01cf('0x3b'))){_0x476aa8[_0x01cf('0x20')]=qs['limit'](_0x466a7e[_0x01cf('0x32')][_0x01cf('0x20')]);_0x476aa8[_0x01cf('0x1f')]=qs[_0x01cf('0x1f')](_0x466a7e['query'][_0x01cf('0x1f')]);}_0x476aa8[_0x01cf('0x3c')]=qs['sort'](_0x466a7e[_0x01cf('0x32')]['sort']);_0x476aa8[_0x01cf('0x3d')]=qs[_0x01cf('0x34')](_[_0x01cf('0x3e')](_0x466a7e[_0x01cf('0x32')],_0x304768[_0x01cf('0x34')]),_0x486105);if(_0x466a7e['query'][_0x01cf('0x3f')]){_0x476aa8['where']=_[_0x01cf('0x40')](_0x476aa8['where'],{'$or':_['map'](_0x486105,function(_0x37f782){if(_0x37f782[_0x01cf('0x30')]!=='VIRTUAL'){var _0x463f88={};_0x463f88[_0x37f782[_0x01cf('0x2a')]]={'$like':'%'+_0x466a7e[_0x01cf('0x32')]['filter']+'%'};return _0x463f88;}})});}_0x476aa8=_[_0x01cf('0x40')]({},_0x476aa8,_0x466a7e['options']);var _0xa0487c={'where':_0x476aa8[_0x01cf('0x3d')]};return db[_0x01cf('0x41')][_0x01cf('0x1e')](_0xa0487c)[_0x01cf('0x26')](function(_0x435d01){_0x4d1081['count']=_0x435d01;if(_0x466a7e[_0x01cf('0x32')][_0x01cf('0x42')]){_0x476aa8[_0x01cf('0x43')]=[{'all':!![]}];}return db[_0x01cf('0x41')][_0x01cf('0x44')](_0x476aa8);})[_0x01cf('0x26')](function(_0xa9a45){_0x4d1081[_0x01cf('0x45')]=_0xa9a45;return _0x4d1081;})['then'](respondWithFilteredResult(_0x1bcb29,_0x476aa8))[_0x01cf('0x46')](handleError(_0x1bcb29,null));};exports[_0x01cf('0x47')]=function(_0x18f442,_0x7a9167){var _0x2c8ed1={'raw':!![],'where':{'id':_0x18f442[_0x01cf('0x48')]['id']}},_0x465a58={};_0x465a58[_0x01cf('0x36')]=_['keys'](db[_0x01cf('0x41')][_0x01cf('0x2e')]);_0x465a58[_0x01cf('0x32')]=_[_0x01cf('0x33')](_0x18f442[_0x01cf('0x32')]);_0x465a58['filters']=_[_0x01cf('0x35')](_0x465a58[_0x01cf('0x36')],_0x465a58[_0x01cf('0x32')]);_0x2c8ed1[_0x01cf('0x37')]=_[_0x01cf('0x35')](_0x465a58[_0x01cf('0x36')],qs[_0x01cf('0x38')](_0x18f442[_0x01cf('0x32')][_0x01cf('0x38')]));_0x2c8ed1[_0x01cf('0x37')]=_0x2c8ed1[_0x01cf('0x37')][_0x01cf('0x39')]?_0x2c8ed1['attributes']:_0x465a58[_0x01cf('0x36')];if(_0x18f442[_0x01cf('0x32')][_0x01cf('0x42')]){_0x2c8ed1[_0x01cf('0x43')]=[{'all':!![]}];}_0x2c8ed1=_[_0x01cf('0x40')]({},_0x2c8ed1,_0x18f442[_0x01cf('0x49')]);return db[_0x01cf('0x41')][_0x01cf('0x4a')](_0x2c8ed1)[_0x01cf('0x26')](handleEntityNotFound(_0x7a9167,null))[_0x01cf('0x26')](respondWithResult(_0x7a9167,null))[_0x01cf('0x46')](handleError(_0x7a9167,null));};exports[_0x01cf('0x4b')]=function(_0x188279,_0x426688){return db[_0x01cf('0x41')][_0x01cf('0x4b')](_0x188279[_0x01cf('0x4c')],{})[_0x01cf('0x26')](respondWithResult(_0x426688,0xc9))['catch'](handleError(_0x426688,null));};exports['update']=function(_0x2cc075,_0x5baf35){if(_0x2cc075[_0x01cf('0x4c')]['id']){delete _0x2cc075[_0x01cf('0x4c')]['id'];}return db['SquareRecording'][_0x01cf('0x4a')]({'where':{'id':_0x2cc075[_0x01cf('0x48')]['id']}})[_0x01cf('0x26')](handleEntityNotFound(_0x5baf35,null))['then'](saveUpdates(_0x2cc075[_0x01cf('0x4c')],null))['then'](respondWithResult(_0x5baf35,null))[_0x01cf('0x46')](handleError(_0x5baf35,null));};exports[_0x01cf('0x4d')]=function(_0x25ce68,_0x4cd3d5,_0x454eed){var _0x33a69d=require(_0x01cf('0x4e'));var _0x2dea23=![];var _0x3f81ab={};if(_0x25ce68[_0x01cf('0x32')][_0x01cf('0x30')]&&_0x25ce68[_0x01cf('0x32')]['type']===_0x01cf('0x4f')){_0x3f81ab[_0x01cf('0x4f')]=_0x25ce68[_0x01cf('0x48')]['id'];}else{_0x3f81ab['id']=_0x25ce68['params']['id'];}return db[_0x01cf('0x41')]['find']({'where':_0x3f81ab,'attributes':['id','savePath','filename'],'raw':!![]})[_0x01cf('0x26')](handleEntityNotFound(_0x4cd3d5,null))[_0x01cf('0x26')](function(_0x18ea23){if(_0x18ea23){var _0x492a5c=_0x18ea23['savePath'];var _0x58e28b=util[_0x01cf('0x50')]('%s.cypher',_0x492a5c);if(fs[_0x01cf('0x51')](_0x58e28b)){_0x2dea23=!![];return _0x33a69d[_0x01cf('0x52')](_0x58e28b,_0x492a5c,config['secrets']['recording'])[_0x01cf('0x26')](function(){return _0x18ea23;});}return _0x18ea23;}})['then'](function(_0xc1409e){if(_0xc1409e){var _0x22c251=_0xc1409e['savePath'];if(!fs[_0x01cf('0x51')](_0x22c251)){throw new db[(_0x01cf('0x53'))]['ValidationError'](_0x01cf('0x54'));}if(_0xc1409e[_0x01cf('0x55')]){return _0x4cd3d5[_0x01cf('0x4d')](_0x22c251,_0xc1409e[_0x01cf('0x55')]+path[_0x01cf('0x56')](_0x22c251),function(){if(_0x2dea23){fs[_0x01cf('0x57')](_0x22c251);}});}else{return _0x4cd3d5[_0x01cf('0x4d')](_0x22c251,function(_0x32a321){if(_0x2dea23){fs[_0x01cf('0x57')](_0x22c251);}});}}})[_0x01cf('0x46')](function(_0x50f4cb){if(_0x50f4cb[_0x01cf('0x58')]===_0x01cf('0x54')){_0x4cd3d5['status'](0x194)[_0x01cf('0x2b')]('Not\x20found');}else{return handleError(_0x4cd3d5,null);}});};exports['destroy']=function(_0x266b81,_0x3a5517){return db[_0x01cf('0x41')][_0x01cf('0x4a')]({'where':{'id':_0x266b81[_0x01cf('0x48')]['id']}})[_0x01cf('0x26')](function(_0x289022){if(!_0x289022)throw new ReferenceError(_0x01cf('0x59'));return _0x289022;})[_0x01cf('0x26')](function(_0x35675e){var _0x5b43be=_0x35675e[_0x01cf('0x5a')];logger[_0x01cf('0x5b')](_0x01cf('0x5c'),_0x5b43be);if(!_['isNil'](_0x35675e[_0x01cf('0x5a')])&&fs['existsSync'](_0x5b43be)){logger[_0x01cf('0x5b')](_0x01cf('0x5d')+_0x5b43be+_0x01cf('0x5e'));fs[_0x01cf('0x5f')](_0x5b43be);}_0x5b43be=_0x5b43be+_0x01cf('0x60');if(!_[_0x01cf('0x61')](_0x35675e['savePath'])&&fs[_0x01cf('0x51')](_0x5b43be)){logger[_0x01cf('0x5b')](_0x01cf('0x5d')+_0x5b43be+_0x01cf('0x5e'));fs[_0x01cf('0x5f')](_0x5b43be);}return _0x35675e;})[_0x01cf('0x26')](function(_0x58583c){if(!_0x58583c)throw new InternalError();return _0x58583c[_0x01cf('0x62')]();})[_0x01cf('0x26')](function(){_0x3a5517[_0x01cf('0x1c')](0xcc)['end']();})[_0x01cf('0x46')](handleError(_0x3a5517,null));};