Built motion from commit 092f8824.|2.5.49
[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 _0x16ee=['request-promise','moment','path','sox','to-csv','lodash','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','then','stack','name','send','SquareRecording','rawAttributes','fieldName','type','key','model','map','keys','query','filters','attributes','hasOwnProperty','sort','where','pick','merge','VIRTUAL','filter','includeAll','findAll','rows','catch','show','params','intersection','fields','length','include','find','create','body','download','uniqueid','savePath','filename','format','%s.cypher','existsSync','secrets','recording','Sequelize','extname','unlink','message','SquareRecording\x20not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','.cypher','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch'];(function(_0x428b0d,_0x2333ad){var _0x19f96e=function(_0x5906f7){while(--_0x5906f7){_0x428b0d['push'](_0x428b0d['shift']());}};_0x19f96e(++_0x2333ad);}(_0x16ee,0x174));var _0xe16e=function(_0x189d3c,_0x5efebf){_0x189d3c=_0x189d3c-0x0;var _0x485959=_0x16ee[_0x189d3c];return _0x485959;};'use strict';var emlformat=require(_0xe16e('0x0'));var rimraf=require(_0xe16e('0x1'));var zipdir=require(_0xe16e('0x2'));var jsonpatch=require(_0xe16e('0x3'));var rp=require(_0xe16e('0x4'));var moment=require(_0xe16e('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xe16e('0x6'));var sox=require(_0xe16e('0x7'));var csv=require(_0xe16e('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe16e('0x9'));var squel=require('squel');var crypto=require(_0xe16e('0xa'));var jsforce=require(_0xe16e('0xb'));var deskjs=require(_0xe16e('0xc'));var toCsv=require(_0xe16e('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xe16e('0xd'));var authService=require(_0xe16e('0xe'));var qs=require(_0xe16e('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe16e('0x10'));var logger=require(_0xe16e('0x11'))(_0xe16e('0x12'));var utils=require(_0xe16e('0x13'));var config=require(_0xe16e('0x14'));var licenseUtil=require(_0xe16e('0x15'));var db=require(_0xe16e('0x16'))['db'];function respondWithStatusCode(_0x424e1a,_0x5ef6fe){_0x5ef6fe=_0x5ef6fe||0xcc;return function(_0x3932a6){if(_0x3932a6){return _0x424e1a[_0xe16e('0x17')](_0x5ef6fe);}return _0x424e1a['status'](_0x5ef6fe)[_0xe16e('0x18')]();};}function respondWithResult(_0x5b7862,_0x56701e){_0x56701e=_0x56701e||0xc8;return function(_0x21928c){if(_0x21928c){return _0x5b7862[_0xe16e('0x19')](_0x56701e)[_0xe16e('0x1a')](_0x21928c);}};}function respondWithFilteredResult(_0x5e91e2,_0x1b43e){return function(_0x1da456){if(_0x1da456){var _0x9f71b0=typeof _0x1b43e[_0xe16e('0x1b')]===_0xe16e('0x1c')&&typeof _0x1b43e[_0xe16e('0x1d')]==='undefined';var _0x220911=_0x1da456[_0xe16e('0x1e')];var _0x148d8b=_0x9f71b0?0x0:_0x1b43e['offset'];var _0x188081=_0x9f71b0?_0x1da456[_0xe16e('0x1e')]:_0x1b43e['offset']+_0x1b43e[_0xe16e('0x1d')];var _0x23ed7a;if(_0x188081>=_0x220911){_0x188081=_0x220911;_0x23ed7a=0xc8;}else{_0x23ed7a=0xce;}_0x5e91e2[_0xe16e('0x19')](_0x23ed7a);return _0x5e91e2[_0xe16e('0x1f')](_0xe16e('0x20'),_0x148d8b+'-'+_0x188081+'/'+_0x220911)[_0xe16e('0x1a')](_0x1da456);}return null;};}function patchUpdates(_0x21eecc){return function(_0x4c5d8e){try{jsonpatch[_0xe16e('0x21')](_0x4c5d8e,_0x21eecc,!![]);}catch(_0x36bf12){return BPromise[_0xe16e('0x22')](_0x36bf12);}return _0x4c5d8e['save']();};}function saveUpdates(_0x41584b,_0x216baa){return function(_0x694282){if(_0x694282){return _0x694282[_0xe16e('0x23')](_0x41584b)['then'](function(_0x52ecd8){return _0x52ecd8;});}return null;};}function removeEntity(_0x44007b,_0x2a9ea1){return function(_0x13defe){if(_0x13defe){return _0x13defe[_0xe16e('0x24')]()[_0xe16e('0x25')](function(){_0x44007b[_0xe16e('0x19')](0xcc)[_0xe16e('0x18')]();});}};}function handleEntityNotFound(_0x4594b7,_0x1d3d09){return function(_0x439dc8){if(!_0x439dc8){_0x4594b7[_0xe16e('0x17')](0x194);}return _0x439dc8;};}function handleError(_0x1205c7,_0x93fd51){_0x93fd51=_0x93fd51||0x1f4;return function(_0x524e7a){logger['error'](_0x524e7a[_0xe16e('0x26')]);if(_0x524e7a[_0xe16e('0x27')]){delete _0x524e7a[_0xe16e('0x27')];}_0x1205c7[_0xe16e('0x19')](_0x93fd51)[_0xe16e('0x28')](_0x524e7a);};}exports['index']=function(_0x231406,_0x29896a){var _0x16c43e={},_0x5ad3e8={},_0x18b642={'count':0x0,'rows':[]};var _0x30a9ee=_['map'](db[_0xe16e('0x29')][_0xe16e('0x2a')],function(_0x4da12b){return{'name':_0x4da12b[_0xe16e('0x2b')],'type':_0x4da12b[_0xe16e('0x2c')][_0xe16e('0x2d')]};});_0x5ad3e8[_0xe16e('0x2e')]=_[_0xe16e('0x2f')](_0x30a9ee,_0xe16e('0x27'));_0x5ad3e8['query']=_[_0xe16e('0x30')](_0x231406[_0xe16e('0x31')]);_0x5ad3e8[_0xe16e('0x32')]=_['intersection'](_0x5ad3e8['model'],_0x5ad3e8[_0xe16e('0x31')]);_0x16c43e[_0xe16e('0x33')]=_['intersection'](_0x5ad3e8[_0xe16e('0x2e')],qs['fields'](_0x231406['query']['fields']));_0x16c43e[_0xe16e('0x33')]=_0x16c43e[_0xe16e('0x33')]['length']?_0x16c43e[_0xe16e('0x33')]:_0x5ad3e8[_0xe16e('0x2e')];if(!_0x231406['query'][_0xe16e('0x34')]('nolimit')){_0x16c43e['limit']=qs[_0xe16e('0x1d')](_0x231406[_0xe16e('0x31')]['limit']);_0x16c43e[_0xe16e('0x1b')]=qs[_0xe16e('0x1b')](_0x231406['query'][_0xe16e('0x1b')]);}_0x16c43e['order']=qs[_0xe16e('0x35')](_0x231406['query'][_0xe16e('0x35')]);_0x16c43e[_0xe16e('0x36')]=qs[_0xe16e('0x32')](_[_0xe16e('0x37')](_0x231406[_0xe16e('0x31')],_0x5ad3e8[_0xe16e('0x32')]),_0x30a9ee);if(_0x231406[_0xe16e('0x31')]['filter']){_0x16c43e[_0xe16e('0x36')]=_[_0xe16e('0x38')](_0x16c43e['where'],{'$or':_[_0xe16e('0x2f')](_0x30a9ee,function(_0x49fcec){if(_0x49fcec[_0xe16e('0x2c')]!==_0xe16e('0x39')){var _0x5ca885={};_0x5ca885[_0x49fcec[_0xe16e('0x27')]]={'$like':'%'+_0x231406[_0xe16e('0x31')][_0xe16e('0x3a')]+'%'};return _0x5ca885;}})});}_0x16c43e=_['merge']({},_0x16c43e,_0x231406['options']);var _0x20bcc9={'where':_0x16c43e[_0xe16e('0x36')]};return db[_0xe16e('0x29')]['count'](_0x20bcc9)[_0xe16e('0x25')](function(_0x22a5e2){_0x18b642[_0xe16e('0x1e')]=_0x22a5e2;if(_0x231406['query'][_0xe16e('0x3b')]){_0x16c43e['include']=[{'all':!![]}];}return db[_0xe16e('0x29')][_0xe16e('0x3c')](_0x16c43e);})[_0xe16e('0x25')](function(_0x5de5cd){_0x18b642[_0xe16e('0x3d')]=_0x5de5cd;return _0x18b642;})[_0xe16e('0x25')](respondWithFilteredResult(_0x29896a,_0x16c43e))[_0xe16e('0x3e')](handleError(_0x29896a,null));};exports[_0xe16e('0x3f')]=function(_0x37f00c,_0x21f36a){var _0x27081a={'raw':!![],'where':{'id':_0x37f00c[_0xe16e('0x40')]['id']}},_0x4806a0={};_0x4806a0[_0xe16e('0x2e')]=_[_0xe16e('0x30')](db[_0xe16e('0x29')][_0xe16e('0x2a')]);_0x4806a0[_0xe16e('0x31')]=_['keys'](_0x37f00c[_0xe16e('0x31')]);_0x4806a0[_0xe16e('0x32')]=_[_0xe16e('0x41')](_0x4806a0[_0xe16e('0x2e')],_0x4806a0['query']);_0x27081a[_0xe16e('0x33')]=_[_0xe16e('0x41')](_0x4806a0[_0xe16e('0x2e')],qs[_0xe16e('0x42')](_0x37f00c[_0xe16e('0x31')]['fields']));_0x27081a[_0xe16e('0x33')]=_0x27081a[_0xe16e('0x33')][_0xe16e('0x43')]?_0x27081a[_0xe16e('0x33')]:_0x4806a0[_0xe16e('0x2e')];if(_0x37f00c[_0xe16e('0x31')]['includeAll']){_0x27081a[_0xe16e('0x44')]=[{'all':!![]}];}_0x27081a=_[_0xe16e('0x38')]({},_0x27081a,_0x37f00c['options']);return db[_0xe16e('0x29')][_0xe16e('0x45')](_0x27081a)['then'](handleEntityNotFound(_0x21f36a,null))[_0xe16e('0x25')](respondWithResult(_0x21f36a,null))['catch'](handleError(_0x21f36a,null));};exports[_0xe16e('0x46')]=function(_0x43895e,_0x1362fb){return db['SquareRecording']['create'](_0x43895e['body'],{})['then'](respondWithResult(_0x1362fb,0xc9))[_0xe16e('0x3e')](handleError(_0x1362fb,null));};exports[_0xe16e('0x23')]=function(_0x39991b,_0x10bbc6){if(_0x39991b['body']['id']){delete _0x39991b[_0xe16e('0x47')]['id'];}return db[_0xe16e('0x29')][_0xe16e('0x45')]({'where':{'id':_0x39991b[_0xe16e('0x40')]['id']}})[_0xe16e('0x25')](handleEntityNotFound(_0x10bbc6,null))[_0xe16e('0x25')](saveUpdates(_0x39991b[_0xe16e('0x47')],null))['then'](respondWithResult(_0x10bbc6,null))[_0xe16e('0x3e')](handleError(_0x10bbc6,null));};exports[_0xe16e('0x48')]=function(_0x52b4e1,_0x3849d7,_0xa11d77){var _0x3781ff=require('../../components/encryptor');var _0x294e01=![];var _0x3d3a68={};if(_0x52b4e1[_0xe16e('0x31')][_0xe16e('0x2c')]&&_0x52b4e1[_0xe16e('0x31')]['type']===_0xe16e('0x49')){_0x3d3a68[_0xe16e('0x49')]=_0x52b4e1[_0xe16e('0x40')]['id'];}else{_0x3d3a68['id']=_0x52b4e1[_0xe16e('0x40')]['id'];}return db[_0xe16e('0x29')]['find']({'where':_0x3d3a68,'attributes':['id',_0xe16e('0x4a'),_0xe16e('0x4b')],'raw':!![]})[_0xe16e('0x25')](handleEntityNotFound(_0x3849d7,null))[_0xe16e('0x25')](function(_0x552716){if(_0x552716){var _0x3d08fc=_0x552716['savePath'];var _0x5024ed=util[_0xe16e('0x4c')](_0xe16e('0x4d'),_0x3d08fc);if(fs[_0xe16e('0x4e')](_0x5024ed)){_0x294e01=!![];return _0x3781ff['decryptFile'](_0x5024ed,_0x3d08fc,config[_0xe16e('0x4f')][_0xe16e('0x50')])[_0xe16e('0x25')](function(){return _0x552716;});}return _0x552716;}})[_0xe16e('0x25')](function(_0x9a2f90){if(_0x9a2f90){var _0x406516=_0x9a2f90[_0xe16e('0x4a')];if(!fs[_0xe16e('0x4e')](_0x406516)){throw new db[(_0xe16e('0x51'))]['ValidationError']('SquareRecording\x20not\x20found');}if(_0x9a2f90['filename']){return _0x3849d7[_0xe16e('0x48')](_0x406516,_0x9a2f90[_0xe16e('0x4b')]+path[_0xe16e('0x52')](_0x406516),function(){if(_0x294e01){fs[_0xe16e('0x53')](_0x406516);}});}else{return _0x3849d7['download'](_0x406516,function(_0x4598ee){if(_0x294e01){fs[_0xe16e('0x53')](_0x406516);}});}}})[_0xe16e('0x3e')](function(_0x1830bb){if(_0x1830bb[_0xe16e('0x54')]===_0xe16e('0x55')){_0x3849d7['status'](0x194)[_0xe16e('0x28')]('Not\x20found');}else{return handleError(_0x3849d7,null);}});};exports[_0xe16e('0x24')]=function(_0x2d8f6e,_0x5079a9){return db[_0xe16e('0x29')][_0xe16e('0x45')]({'where':{'id':_0x2d8f6e[_0xe16e('0x40')]['id']}})[_0xe16e('0x25')](function(_0x8b2bed){if(_['isNil'](_0x8b2bed)){throw new ReferenceError(_0xe16e('0x56'));}return _0x8b2bed;})[_0xe16e('0x25')](function(_0x2f4336){var _0x1b91b2=_0x2f4336[_0xe16e('0x4a')];logger[_0xe16e('0x57')](_0xe16e('0x58'),_0x1b91b2);if(!_[_0xe16e('0x59')](_0x2f4336[_0xe16e('0x4a')])&&fs[_0xe16e('0x4e')](_0x1b91b2)){logger[_0xe16e('0x57')](_0xe16e('0x5a')+_0x1b91b2+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x1b91b2);}_0x1b91b2=_0x1b91b2+_0xe16e('0x5b');if(!_[_0xe16e('0x59')](_0x2f4336[_0xe16e('0x4a')])&&fs[_0xe16e('0x4e')](_0x1b91b2)){logger[_0xe16e('0x57')](_0xe16e('0x5a')+_0x1b91b2+_0xe16e('0x5c'));fs[_0xe16e('0x5d')](_0x1b91b2);}return _0x2f4336;})[_0xe16e('0x25')](function(_0x25b342){if(!_0x25b342)throw new InternalError();return _0x25b342['destroy']();})['then'](function(){_0x5079a9[_0xe16e('0x19')](0xcc)[_0xe16e('0x18')]();})['catch'](handleError(_0x5079a9,null));};