Built motion from commit (unavailable).|2.5.18
[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 _0xf060=['rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','filters','pick','merge','where','VIRTUAL','SquareRecording','count','includeAll','findAll','rows','catch','show','length','include','options','find','create','body','params','download','../../components/encryptor','uniqueid','savePath','filename','format','existsSync','decryptFile','recording','Sequelize','ValidationError','extname','unlink','message','SquareRecording\x20not\x20found','Not\x20found','Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map'];(function(_0x52bef7,_0xab5bd1){var _0xb16264=function(_0xe8f1ad){while(--_0xe8f1ad){_0x52bef7['push'](_0x52bef7['shift']());}};_0xb16264(++_0xab5bd1);}(_0xf060,0x1de));var _0x0f06=function(_0x5c6968,_0x35f27a){_0x5c6968=_0x5c6968-0x0;var _0x243611=_0xf060[_0x5c6968];return _0x243611;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0f06('0x0'));var rimraf=require(_0x0f06('0x1'));var zipdir=require(_0x0f06('0x2'));var jsonpatch=require(_0x0f06('0x3'));var rp=require(_0x0f06('0x4'));var moment=require(_0x0f06('0x5'));var BPromise=require(_0x0f06('0x6'));var Mustache=require(_0x0f06('0x7'));var util=require(_0x0f06('0x8'));var path=require(_0x0f06('0x9'));var sox=require(_0x0f06('0xa'));var csv=require('to-csv');var ejs=require(_0x0f06('0xb'));var fs=require('fs');var _=require(_0x0f06('0xc'));var squel=require(_0x0f06('0xd'));var crypto=require('crypto');var jsforce=require(_0x0f06('0xe'));var deskjs=require(_0x0f06('0xf'));var toCsv=require(_0x0f06('0x10'));var querystring=require(_0x0f06('0x11'));var Papa=require(_0x0f06('0x12'));var Redis=require(_0x0f06('0x13'));var authService=require(_0x0f06('0x14'));var qs=require(_0x0f06('0x15'));var as=require(_0x0f06('0x16'));var hardwareService=require(_0x0f06('0x17'));var logger=require(_0x0f06('0x18'))(_0x0f06('0x19'));var utils=require(_0x0f06('0x1a'));var config=require(_0x0f06('0x1b'));var licenseUtil=require(_0x0f06('0x1c'));var db=require(_0x0f06('0x1d'))['db'];function respondWithStatusCode(_0x1f8d08,_0x5ae56e){_0x5ae56e=_0x5ae56e||0xcc;return function(_0x290cab){if(_0x290cab){return _0x1f8d08[_0x0f06('0x1e')](_0x5ae56e);}return _0x1f8d08[_0x0f06('0x1f')](_0x5ae56e)[_0x0f06('0x20')]();};}function respondWithResult(_0x4c3092,_0x6e9371){_0x6e9371=_0x6e9371||0xc8;return function(_0x3924f5){if(_0x3924f5){return _0x4c3092[_0x0f06('0x1f')](_0x6e9371)['json'](_0x3924f5);}};}function respondWithFilteredResult(_0x4eaf4a,_0x444225){return function(_0x51b21e){if(_0x51b21e){var _0x10e97f=_0x51b21e['count'],_0x1fdf01=_0x444225['offset'],_0x2e2f26=_0x444225[_0x0f06('0x21')]+_0x444225[_0x0f06('0x22')],_0x58cac8;if(_0x2e2f26>=_0x10e97f){_0x2e2f26=_0x10e97f;_0x58cac8=0xc8;}else{_0x58cac8=0xce;}_0x4eaf4a[_0x0f06('0x1f')](_0x58cac8);return _0x4eaf4a['set'](_0x0f06('0x23'),_0x1fdf01+'-'+_0x2e2f26+'/'+_0x10e97f)['json'](_0x51b21e);}return null;};}function patchUpdates(_0x181db8){return function(_0x3e7bd4){try{jsonpatch[_0x0f06('0x24')](_0x3e7bd4,_0x181db8,!![]);}catch(_0xf2580d){return BPromise[_0x0f06('0x25')](_0xf2580d);}return _0x3e7bd4[_0x0f06('0x26')]();};}function saveUpdates(_0x3d863d,_0x4beabf){return function(_0xbc9787){if(_0xbc9787){return _0xbc9787[_0x0f06('0x27')](_0x3d863d)[_0x0f06('0x28')](function(_0x838384){return _0x838384;});}return null;};}function removeEntity(_0x29c08a,_0x10e472){return function(_0x74bfd){if(_0x74bfd){return _0x74bfd['destroy']()[_0x0f06('0x28')](function(){_0x29c08a[_0x0f06('0x1f')](0xcc)[_0x0f06('0x20')]();});}};}function handleEntityNotFound(_0x3f888c,_0x7f381f){return function(_0x132f8e){if(!_0x132f8e){_0x3f888c[_0x0f06('0x1e')](0x194);}return _0x132f8e;};}function handleError(_0x3b4785,_0x5478bf){_0x5478bf=_0x5478bf||0x1f4;return function(_0x147e30){logger[_0x0f06('0x29')](_0x147e30[_0x0f06('0x2a')]);if(_0x147e30[_0x0f06('0x2b')]){delete _0x147e30[_0x0f06('0x2b')];}_0x3b4785[_0x0f06('0x1f')](_0x5478bf)[_0x0f06('0x2c')](_0x147e30);};}exports[_0x0f06('0x2d')]=function(_0x267c04,_0x469962){var _0xdd6da4={},_0x52b839={},_0x59a01a={'count':0x0,'rows':[]};var _0x3eb4ac=_[_0x0f06('0x2e')](db['SquareRecording'][_0x0f06('0x2f')],function(_0x4ee0b4){return{'name':_0x4ee0b4[_0x0f06('0x30')],'type':_0x4ee0b4[_0x0f06('0x31')][_0x0f06('0x32')]};});_0x52b839[_0x0f06('0x33')]=_[_0x0f06('0x2e')](_0x3eb4ac,'name');_0x52b839[_0x0f06('0x34')]=_[_0x0f06('0x35')](_0x267c04[_0x0f06('0x34')]);_0x52b839['filters']=_['intersection'](_0x52b839[_0x0f06('0x33')],_0x52b839[_0x0f06('0x34')]);_0xdd6da4[_0x0f06('0x36')]=_[_0x0f06('0x37')](_0x52b839[_0x0f06('0x33')],qs[_0x0f06('0x38')](_0x267c04['query'][_0x0f06('0x38')]));_0xdd6da4[_0x0f06('0x36')]=_0xdd6da4['attributes']['length']?_0xdd6da4['attributes']:_0x52b839[_0x0f06('0x33')];if(!_0x267c04[_0x0f06('0x34')][_0x0f06('0x39')](_0x0f06('0x3a'))){_0xdd6da4[_0x0f06('0x22')]=qs[_0x0f06('0x22')](_0x267c04[_0x0f06('0x34')][_0x0f06('0x22')]);_0xdd6da4[_0x0f06('0x21')]=qs[_0x0f06('0x21')](_0x267c04[_0x0f06('0x34')][_0x0f06('0x21')]);}_0xdd6da4[_0x0f06('0x3b')]=qs[_0x0f06('0x3c')](_0x267c04[_0x0f06('0x34')][_0x0f06('0x3c')]);_0xdd6da4['where']=qs[_0x0f06('0x3d')](_[_0x0f06('0x3e')](_0x267c04['query'],_0x52b839[_0x0f06('0x3d')]),_0x3eb4ac);if(_0x267c04[_0x0f06('0x34')]['filter']){_0xdd6da4['where']=_[_0x0f06('0x3f')](_0xdd6da4[_0x0f06('0x40')],{'$or':_[_0x0f06('0x2e')](_0x3eb4ac,function(_0x1a9986){if(_0x1a9986[_0x0f06('0x31')]!==_0x0f06('0x41')){var _0x5e335d={};_0x5e335d[_0x1a9986[_0x0f06('0x2b')]]={'$like':'%'+_0x267c04[_0x0f06('0x34')]['filter']+'%'};return _0x5e335d;}})});}_0xdd6da4=_[_0x0f06('0x3f')]({},_0xdd6da4,_0x267c04['options']);var _0x35b7b3={'where':_0xdd6da4[_0x0f06('0x40')]};return db[_0x0f06('0x42')][_0x0f06('0x43')](_0x35b7b3)[_0x0f06('0x28')](function(_0x2ff321){_0x59a01a[_0x0f06('0x43')]=_0x2ff321;if(_0x267c04[_0x0f06('0x34')][_0x0f06('0x44')]){_0xdd6da4['include']=[{'all':!![]}];}return db[_0x0f06('0x42')][_0x0f06('0x45')](_0xdd6da4);})[_0x0f06('0x28')](function(_0x810453){_0x59a01a[_0x0f06('0x46')]=_0x810453;return _0x59a01a;})[_0x0f06('0x28')](respondWithFilteredResult(_0x469962,_0xdd6da4))[_0x0f06('0x47')](handleError(_0x469962,null));};exports[_0x0f06('0x48')]=function(_0x456146,_0x15303c){var _0x40b02e={'raw':!![],'where':{'id':_0x456146['params']['id']}},_0x316e63={};_0x316e63['model']=_[_0x0f06('0x35')](db['SquareRecording'][_0x0f06('0x2f')]);_0x316e63['query']=_[_0x0f06('0x35')](_0x456146[_0x0f06('0x34')]);_0x316e63['filters']=_[_0x0f06('0x37')](_0x316e63[_0x0f06('0x33')],_0x316e63[_0x0f06('0x34')]);_0x40b02e['attributes']=_[_0x0f06('0x37')](_0x316e63[_0x0f06('0x33')],qs[_0x0f06('0x38')](_0x456146[_0x0f06('0x34')]['fields']));_0x40b02e[_0x0f06('0x36')]=_0x40b02e[_0x0f06('0x36')][_0x0f06('0x49')]?_0x40b02e[_0x0f06('0x36')]:_0x316e63[_0x0f06('0x33')];if(_0x456146[_0x0f06('0x34')][_0x0f06('0x44')]){_0x40b02e[_0x0f06('0x4a')]=[{'all':!![]}];}_0x40b02e=_[_0x0f06('0x3f')]({},_0x40b02e,_0x456146[_0x0f06('0x4b')]);return db[_0x0f06('0x42')][_0x0f06('0x4c')](_0x40b02e)['then'](handleEntityNotFound(_0x15303c,null))[_0x0f06('0x28')](respondWithResult(_0x15303c,null))[_0x0f06('0x47')](handleError(_0x15303c,null));};exports[_0x0f06('0x4d')]=function(_0x58dcc5,_0x41473b){return db[_0x0f06('0x42')][_0x0f06('0x4d')](_0x58dcc5['body'],{})[_0x0f06('0x28')](respondWithResult(_0x41473b,0xc9))[_0x0f06('0x47')](handleError(_0x41473b,null));};exports[_0x0f06('0x27')]=function(_0x2170ed,_0x620e09){if(_0x2170ed[_0x0f06('0x4e')]['id']){delete _0x2170ed[_0x0f06('0x4e')]['id'];}return db[_0x0f06('0x42')][_0x0f06('0x4c')]({'where':{'id':_0x2170ed[_0x0f06('0x4f')]['id']}})[_0x0f06('0x28')](handleEntityNotFound(_0x620e09,null))['then'](saveUpdates(_0x2170ed[_0x0f06('0x4e')],null))[_0x0f06('0x28')](respondWithResult(_0x620e09,null))[_0x0f06('0x47')](handleError(_0x620e09,null));};exports[_0x0f06('0x50')]=function(_0x1b07b1,_0x16b790,_0x4df009){var _0xa4899d=require(_0x0f06('0x51'));var _0x5c5e68=![];var _0x39c5d8={};if(_0x1b07b1[_0x0f06('0x34')][_0x0f06('0x31')]&&_0x1b07b1[_0x0f06('0x34')][_0x0f06('0x31')]==='uniqueid'){_0x39c5d8[_0x0f06('0x52')]=_0x1b07b1[_0x0f06('0x4f')]['id'];}else{_0x39c5d8['id']=_0x1b07b1[_0x0f06('0x4f')]['id'];}return db[_0x0f06('0x42')][_0x0f06('0x4c')]({'where':_0x39c5d8,'attributes':['id',_0x0f06('0x53'),_0x0f06('0x54')],'raw':!![]})[_0x0f06('0x28')](handleEntityNotFound(_0x16b790,null))[_0x0f06('0x28')](function(_0x80e9a0){if(_0x80e9a0){var _0x56deb4=_0x80e9a0[_0x0f06('0x53')];var _0x2c2f5b=util[_0x0f06('0x55')]('%s.cypher',_0x56deb4);if(fs[_0x0f06('0x56')](_0x2c2f5b)){_0x5c5e68=!![];return _0xa4899d[_0x0f06('0x57')](_0x2c2f5b,_0x56deb4,config['secrets'][_0x0f06('0x58')])['then'](function(){return _0x80e9a0;});}return _0x80e9a0;}})[_0x0f06('0x28')](function(_0x426c27){if(_0x426c27){var _0xfc8ef0=_0x426c27['savePath'];if(!fs[_0x0f06('0x56')](_0xfc8ef0)){throw new db[(_0x0f06('0x59'))][(_0x0f06('0x5a'))]('SquareRecording\x20not\x20found');}if(_0x426c27[_0x0f06('0x54')]){return _0x16b790['download'](_0xfc8ef0,_0x426c27[_0x0f06('0x54')]+path[_0x0f06('0x5b')](_0xfc8ef0),function(){if(_0x5c5e68){fs[_0x0f06('0x5c')](_0xfc8ef0);}});}else{return _0x16b790[_0x0f06('0x50')](_0xfc8ef0,function(_0x4d0155){if(_0x5c5e68){fs[_0x0f06('0x5c')](_0xfc8ef0);}});}}})['catch'](function(_0x3d7d8d){if(_0x3d7d8d[_0x0f06('0x5d')]===_0x0f06('0x5e')){_0x16b790['status'](0x194)[_0x0f06('0x2c')](_0x0f06('0x5f'));}else{return handleError(_0x16b790,null);}});};exports['destroy']=function(_0x1e4681,_0x17c668){return db[_0x0f06('0x42')][_0x0f06('0x4c')]({'where':{'id':_0x1e4681[_0x0f06('0x4f')]['id']}})[_0x0f06('0x28')](function(_0x43382d){if(!_0x43382d)throw new ReferenceError(_0x0f06('0x60'));return _0x43382d;})[_0x0f06('0x28')](function(_0x21f26b){var _0x291b99=_0x21f26b[_0x0f06('0x53')];logger['info'](_0x0f06('0x61'),_0x291b99);if(!_[_0x0f06('0x62')](_0x21f26b[_0x0f06('0x53')])&&fs[_0x0f06('0x56')](_0x291b99)){logger[_0x0f06('0x63')](_0x0f06('0x64')+_0x291b99+_0x0f06('0x65'));fs[_0x0f06('0x66')](_0x291b99);}_0x291b99=_0x291b99+_0x0f06('0x67');if(!_['isNil'](_0x21f26b[_0x0f06('0x53')])&&fs[_0x0f06('0x56')](_0x291b99)){logger[_0x0f06('0x63')](_0x0f06('0x64')+_0x291b99+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x0f06('0x66')](_0x291b99);}return _0x21f26b;})[_0x0f06('0x28')](function(_0x2bb3e0){if(!_0x2bb3e0)throw new InternalError();return _0x2bb3e0[_0x0f06('0x68')]();})[_0x0f06('0x28')](function(){_0x17c668['status'](0xcc)[_0x0f06('0x20')]();})[_0x0f06('0x47')](handleError(_0x17c668,null));};