Built motion from commit da617fac.|2.6.6
[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 _0xe9a9=['savePath','filename','%s.cypher','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','extname','unlink','message','SquareRecording\x20not\x20found','send','Not\x20found','isNil','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','eml-format','rimraf','zip-dir','request-promise','moment','util','path','to-csv','fs-extra','lodash','jsforce','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','status','offset','undefined','limit','count','set','json','apply','reject','save','then','destroy','error','stack','name','map','rawAttributes','type','key','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','VIRTUAL','filter','merge','options','SquareRecording','includeAll','include','findAll','rows','catch','show','params','find','create','update','body','download','../../components/encryptor','uniqueid'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0xe9a9,0x127));var _0x9e9a=function(_0x16d8b2,_0x22a573){_0x16d8b2=_0x16d8b2-0x0;var _0x1fec25=_0xe9a9[_0x16d8b2];return _0x1fec25;};'use strict';var emlformat=require(_0x9e9a('0x0'));var rimraf=require(_0x9e9a('0x1'));var zipdir=require(_0x9e9a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9e9a('0x3'));var moment=require(_0x9e9a('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x9e9a('0x5'));var path=require(_0x9e9a('0x6'));var sox=require('sox');var csv=require(_0x9e9a('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9e9a('0x8'));var _=require(_0x9e9a('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9e9a('0xa'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9e9a('0xb'));var Papa=require('papaparse');var Redis=require(_0x9e9a('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x9e9a('0xd'));var hardwareService=require(_0x9e9a('0xe'));var logger=require(_0x9e9a('0xf'))(_0x9e9a('0x10'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x9e9a('0x11'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x588cad,_0x44a3b){_0x44a3b=_0x44a3b||0xcc;return function(_0x2f2609){if(_0x2f2609){return _0x588cad['sendStatus'](_0x44a3b);}return _0x588cad[_0x9e9a('0x12')](_0x44a3b)['end']();};}function respondWithResult(_0x2a25c5,_0xf1c683){_0xf1c683=_0xf1c683||0xc8;return function(_0x5282f7){if(_0x5282f7){return _0x2a25c5[_0x9e9a('0x12')](_0xf1c683)['json'](_0x5282f7);}};}function respondWithFilteredResult(_0x1e6f12,_0x5b28e0){return function(_0x2091c1){if(_0x2091c1){var _0xf5c8bb=typeof _0x5b28e0[_0x9e9a('0x13')]===_0x9e9a('0x14')&&typeof _0x5b28e0[_0x9e9a('0x15')]===_0x9e9a('0x14');var _0xb4c524=_0x2091c1[_0x9e9a('0x16')];var _0x54af81=_0xf5c8bb?0x0:_0x5b28e0[_0x9e9a('0x13')];var _0x4cf102=_0xf5c8bb?_0x2091c1[_0x9e9a('0x16')]:_0x5b28e0[_0x9e9a('0x13')]+_0x5b28e0[_0x9e9a('0x15')];var _0x41570d;if(_0x4cf102>=_0xb4c524){_0x4cf102=_0xb4c524;_0x41570d=0xc8;}else{_0x41570d=0xce;}_0x1e6f12[_0x9e9a('0x12')](_0x41570d);return _0x1e6f12[_0x9e9a('0x17')]('Content-Range',_0x54af81+'-'+_0x4cf102+'/'+_0xb4c524)[_0x9e9a('0x18')](_0x2091c1);}return null;};}function patchUpdates(_0x21fe6b){return function(_0x2b1e6b){try{jsonpatch[_0x9e9a('0x19')](_0x2b1e6b,_0x21fe6b,!![]);}catch(_0x58c551){return BPromise[_0x9e9a('0x1a')](_0x58c551);}return _0x2b1e6b[_0x9e9a('0x1b')]();};}function saveUpdates(_0x5a3d94,_0x1413a3){return function(_0xd5f32a){if(_0xd5f32a){return _0xd5f32a['update'](_0x5a3d94)[_0x9e9a('0x1c')](function(_0x185cc4){return _0x185cc4;});}return null;};}function removeEntity(_0x4ce4fd,_0x5c6ff2){return function(_0x4d2f18){if(_0x4d2f18){return _0x4d2f18[_0x9e9a('0x1d')]()['then'](function(){_0x4ce4fd['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3552eb,_0x1ec4f2){return function(_0x1f93d3){if(!_0x1f93d3){_0x3552eb['sendStatus'](0x194);}return _0x1f93d3;};}function handleError(_0x1e1806,_0x13a862){_0x13a862=_0x13a862||0x1f4;return function(_0x44d91b){logger[_0x9e9a('0x1e')](_0x44d91b[_0x9e9a('0x1f')]);if(_0x44d91b[_0x9e9a('0x20')]){delete _0x44d91b[_0x9e9a('0x20')];}_0x1e1806[_0x9e9a('0x12')](_0x13a862)['send'](_0x44d91b);};}exports['index']=function(_0x875955,_0x1f78bf){var _0x201077={},_0x1020cf={},_0x295a9e={'count':0x0,'rows':[]};var _0x4dfe9=_[_0x9e9a('0x21')](db['SquareRecording'][_0x9e9a('0x22')],function(_0x2958b6){return{'name':_0x2958b6['fieldName'],'type':_0x2958b6[_0x9e9a('0x23')][_0x9e9a('0x24')]};});_0x1020cf[_0x9e9a('0x25')]=_[_0x9e9a('0x21')](_0x4dfe9,_0x9e9a('0x20'));_0x1020cf[_0x9e9a('0x26')]=_[_0x9e9a('0x27')](_0x875955[_0x9e9a('0x26')]);_0x1020cf['filters']=_[_0x9e9a('0x28')](_0x1020cf[_0x9e9a('0x25')],_0x1020cf[_0x9e9a('0x26')]);_0x201077['attributes']=_[_0x9e9a('0x28')](_0x1020cf[_0x9e9a('0x25')],qs[_0x9e9a('0x29')](_0x875955['query'][_0x9e9a('0x29')]));_0x201077[_0x9e9a('0x2a')]=_0x201077[_0x9e9a('0x2a')]['length']?_0x201077['attributes']:_0x1020cf[_0x9e9a('0x25')];if(!_0x875955[_0x9e9a('0x26')][_0x9e9a('0x2b')](_0x9e9a('0x2c'))){_0x201077['limit']=qs[_0x9e9a('0x15')](_0x875955[_0x9e9a('0x26')][_0x9e9a('0x15')]);_0x201077[_0x9e9a('0x13')]=qs[_0x9e9a('0x13')](_0x875955[_0x9e9a('0x26')][_0x9e9a('0x13')]);}_0x201077[_0x9e9a('0x2d')]=qs['sort'](_0x875955[_0x9e9a('0x26')][_0x9e9a('0x2e')]);_0x201077[_0x9e9a('0x2f')]=qs[_0x9e9a('0x30')](_[_0x9e9a('0x31')](_0x875955['query'],_0x1020cf[_0x9e9a('0x30')]),_0x4dfe9);if(_0x875955[_0x9e9a('0x26')]['filter']){_0x201077[_0x9e9a('0x2f')]=_['merge'](_0x201077[_0x9e9a('0x2f')],{'$or':_['map'](_0x4dfe9,function(_0x31d791){if(_0x31d791[_0x9e9a('0x23')]!==_0x9e9a('0x32')){var _0x2ab909={};_0x2ab909[_0x31d791[_0x9e9a('0x20')]]={'$like':'%'+_0x875955['query'][_0x9e9a('0x33')]+'%'};return _0x2ab909;}})});}_0x201077=_[_0x9e9a('0x34')]({},_0x201077,_0x875955[_0x9e9a('0x35')]);var _0x319dfa={'where':_0x201077[_0x9e9a('0x2f')]};return db[_0x9e9a('0x36')][_0x9e9a('0x16')](_0x319dfa)[_0x9e9a('0x1c')](function(_0x525344){_0x295a9e['count']=_0x525344;if(_0x875955[_0x9e9a('0x26')][_0x9e9a('0x37')]){_0x201077[_0x9e9a('0x38')]=[{'all':!![]}];}return db['SquareRecording'][_0x9e9a('0x39')](_0x201077);})[_0x9e9a('0x1c')](function(_0x1783d9){_0x295a9e[_0x9e9a('0x3a')]=_0x1783d9;return _0x295a9e;})[_0x9e9a('0x1c')](respondWithFilteredResult(_0x1f78bf,_0x201077))[_0x9e9a('0x3b')](handleError(_0x1f78bf,null));};exports[_0x9e9a('0x3c')]=function(_0x60d6a8,_0x104632){var _0x208297={'raw':!![],'where':{'id':_0x60d6a8[_0x9e9a('0x3d')]['id']}},_0x1ead0f={};_0x1ead0f['model']=_['keys'](db['SquareRecording'][_0x9e9a('0x22')]);_0x1ead0f[_0x9e9a('0x26')]=_[_0x9e9a('0x27')](_0x60d6a8[_0x9e9a('0x26')]);_0x1ead0f['filters']=_[_0x9e9a('0x28')](_0x1ead0f[_0x9e9a('0x25')],_0x1ead0f[_0x9e9a('0x26')]);_0x208297['attributes']=_['intersection'](_0x1ead0f[_0x9e9a('0x25')],qs['fields'](_0x60d6a8['query'][_0x9e9a('0x29')]));_0x208297[_0x9e9a('0x2a')]=_0x208297['attributes']['length']?_0x208297[_0x9e9a('0x2a')]:_0x1ead0f[_0x9e9a('0x25')];if(_0x60d6a8[_0x9e9a('0x26')]['includeAll']){_0x208297[_0x9e9a('0x38')]=[{'all':!![]}];}_0x208297=_['merge']({},_0x208297,_0x60d6a8['options']);return db[_0x9e9a('0x36')][_0x9e9a('0x3e')](_0x208297)['then'](handleEntityNotFound(_0x104632,null))['then'](respondWithResult(_0x104632,null))['catch'](handleError(_0x104632,null));};exports['create']=function(_0x40c1c1,_0x3b3600){return db[_0x9e9a('0x36')][_0x9e9a('0x3f')](_0x40c1c1['body'],{})[_0x9e9a('0x1c')](respondWithResult(_0x3b3600,0xc9))[_0x9e9a('0x3b')](handleError(_0x3b3600,null));};exports[_0x9e9a('0x40')]=function(_0x243475,_0x3f9b73){if(_0x243475[_0x9e9a('0x41')]['id']){delete _0x243475[_0x9e9a('0x41')]['id'];}return db[_0x9e9a('0x36')][_0x9e9a('0x3e')]({'where':{'id':_0x243475['params']['id']}})['then'](handleEntityNotFound(_0x3f9b73,null))[_0x9e9a('0x1c')](saveUpdates(_0x243475['body'],null))[_0x9e9a('0x1c')](respondWithResult(_0x3f9b73,null))['catch'](handleError(_0x3f9b73,null));};exports[_0x9e9a('0x42')]=function(_0x49633d,_0x1a6d99,_0x28ac13){var _0x169122=require(_0x9e9a('0x43'));var _0x3a0ed7=![];var _0x30c804={};if(_0x49633d['query'][_0x9e9a('0x23')]&&_0x49633d[_0x9e9a('0x26')][_0x9e9a('0x23')]===_0x9e9a('0x44')){_0x30c804[_0x9e9a('0x44')]=_0x49633d[_0x9e9a('0x3d')]['id'];}else{_0x30c804['id']=_0x49633d[_0x9e9a('0x3d')]['id'];}return db[_0x9e9a('0x36')]['find']({'where':_0x30c804,'attributes':['id',_0x9e9a('0x45'),_0x9e9a('0x46')],'raw':!![]})[_0x9e9a('0x1c')](handleEntityNotFound(_0x1a6d99,null))['then'](function(_0x37c24a){if(_0x37c24a){var _0x14163c=_0x37c24a[_0x9e9a('0x45')];var _0x18f8ff=util['format'](_0x9e9a('0x47'),_0x14163c);if(fs[_0x9e9a('0x48')](_0x18f8ff)){_0x3a0ed7=!![];return _0x169122[_0x9e9a('0x49')](_0x18f8ff,_0x14163c,config[_0x9e9a('0x4a')][_0x9e9a('0x4b')])[_0x9e9a('0x1c')](function(){return _0x37c24a;});}return _0x37c24a;}})['then'](function(_0x38d8cb){if(_0x38d8cb){var _0x48ff53=_0x38d8cb[_0x9e9a('0x45')];if(!fs[_0x9e9a('0x48')](_0x48ff53)){throw new db[(_0x9e9a('0x4c'))][(_0x9e9a('0x4d'))]('SquareRecording\x20not\x20found');}if(_0x38d8cb[_0x9e9a('0x46')]){return _0x1a6d99[_0x9e9a('0x42')](_0x48ff53,_0x38d8cb[_0x9e9a('0x46')]+path[_0x9e9a('0x4e')](_0x48ff53),function(){if(_0x3a0ed7){fs[_0x9e9a('0x4f')](_0x48ff53);}});}else{return _0x1a6d99[_0x9e9a('0x42')](_0x48ff53,function(_0x10e709){if(_0x3a0ed7){fs[_0x9e9a('0x4f')](_0x48ff53);}});}}})[_0x9e9a('0x3b')](function(_0x4b48c1){if(_0x4b48c1[_0x9e9a('0x50')]===_0x9e9a('0x51')){_0x1a6d99[_0x9e9a('0x12')](0x194)[_0x9e9a('0x52')](_0x9e9a('0x53'));}else{return handleError(_0x1a6d99,null);}});};exports[_0x9e9a('0x1d')]=function(_0x483691,_0x2b5304){return db[_0x9e9a('0x36')]['find']({'where':{'id':_0x483691['params']['id']}})[_0x9e9a('0x1c')](function(_0xd507a3){if(_[_0x9e9a('0x54')](_0xd507a3)){throw new ReferenceError(_0x9e9a('0x55'));}return _0xd507a3;})[_0x9e9a('0x1c')](function(_0x43ccb7){var _0x565b8d=_0x43ccb7['savePath'];logger[_0x9e9a('0x56')](_0x9e9a('0x57'),_0x565b8d);if(!_[_0x9e9a('0x54')](_0x43ccb7[_0x9e9a('0x45')])&&fs['existsSync'](_0x565b8d)){logger[_0x9e9a('0x56')](_0x9e9a('0x58')+_0x565b8d+_0x9e9a('0x59'));fs['unlinkSync'](_0x565b8d);}_0x565b8d=_0x565b8d+_0x9e9a('0x5a');if(!_['isNil'](_0x43ccb7[_0x9e9a('0x45')])&&fs[_0x9e9a('0x48')](_0x565b8d)){logger[_0x9e9a('0x56')](_0x9e9a('0x58')+_0x565b8d+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs['unlinkSync'](_0x565b8d);}return _0x43ccb7;})['then'](function(_0x279208){if(!_0x279208)throw new InternalError();return _0x279208[_0x9e9a('0x1d')]();})[_0x9e9a('0x1c')](function(){_0x2b5304[_0x9e9a('0x12')](0xcc)['end']();})[_0x9e9a('0x3b')](handleError(_0x2b5304,null));};