10b0d313e9673e01c482fece9f9928ea2d2bf5b3
[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 _0x6a3e=['attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','SquareRecording','count','includeAll','include','findAll','rows','catch','show','intersection','options','find','create','body','update','params','download','uniqueid','savePath','filename','format','decryptFile','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','unlink','message','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','existsSync','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox','to-csv','ejs','squel','crypto','jsforce','papaparse','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','offset','limit','set','apply','reject','save','then','destroy','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters'];(function(_0x30b861,_0x511cb0){var _0x28600d=function(_0x54aa03){while(--_0x54aa03){_0x30b861['push'](_0x30b861['shift']());}};_0x28600d(++_0x511cb0);}(_0x6a3e,0xe9));var _0xe6a3=function(_0x2791ee,_0x4495c7){_0x2791ee=_0x2791ee-0x0;var _0x5e20c8=_0x6a3e[_0x2791ee];return _0x5e20c8;};'use strict';var pdf=require(_0xe6a3('0x0'));var emlformat=require(_0xe6a3('0x1'));var rimraf=require(_0xe6a3('0x2'));var zipdir=require(_0xe6a3('0x3'));var jsonpatch=require(_0xe6a3('0x4'));var rp=require('request-promise');var moment=require(_0xe6a3('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xe6a3('0x6'));var util=require(_0xe6a3('0x7'));var path=require('path');var sox=require(_0xe6a3('0x8'));var csv=require(_0xe6a3('0x9'));var ejs=require(_0xe6a3('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe6a3('0xb'));var crypto=require(_0xe6a3('0xc'));var jsforce=require(_0xe6a3('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xe6a3('0xe'));var Redis=require('ioredis');var authService=require(_0xe6a3('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe6a3('0x10'));var logger=require('../../config/logger')(_0xe6a3('0x11'));var utils=require(_0xe6a3('0x12'));var config=require(_0xe6a3('0x13'));var db=require(_0xe6a3('0x14'))['db'];function respondWithStatusCode(_0x3d9e7c,_0x22b7b7){_0x22b7b7=_0x22b7b7||0xcc;return function(_0x366ce0){if(_0x366ce0){return _0x3d9e7c[_0xe6a3('0x15')](_0x22b7b7);}return _0x3d9e7c[_0xe6a3('0x16')](_0x22b7b7)['end']();};}function respondWithResult(_0x4c9d6d,_0x52f9ed){_0x52f9ed=_0x52f9ed||0xc8;return function(_0x43bfca){if(_0x43bfca){return _0x4c9d6d[_0xe6a3('0x16')](_0x52f9ed)['json'](_0x43bfca);}};}function respondWithFilteredResult(_0x2c0edf,_0x37f0c2){return function(_0x269d74){if(_0x269d74){var _0x5b6df4=_0x269d74['count'],_0x50a6c2=_0x37f0c2[_0xe6a3('0x17')],_0x52fcb1=_0x37f0c2[_0xe6a3('0x17')]+_0x37f0c2[_0xe6a3('0x18')],_0x163365;if(_0x52fcb1>=_0x5b6df4){_0x52fcb1=_0x5b6df4;_0x163365=0xc8;}else{_0x163365=0xce;}_0x2c0edf[_0xe6a3('0x16')](_0x163365);return _0x2c0edf[_0xe6a3('0x19')]('Content-Range',_0x50a6c2+'-'+_0x52fcb1+'/'+_0x5b6df4)['json'](_0x269d74);}return null;};}function patchUpdates(_0x1b6bab){return function(_0x444a5d){try{jsonpatch[_0xe6a3('0x1a')](_0x444a5d,_0x1b6bab,!![]);}catch(_0x342adc){return BPromise[_0xe6a3('0x1b')](_0x342adc);}return _0x444a5d[_0xe6a3('0x1c')]();};}function saveUpdates(_0x5a8fc7,_0x337f1a){return function(_0x882f65){if(_0x882f65){return _0x882f65['update'](_0x5a8fc7)[_0xe6a3('0x1d')](function(_0x35688c){return _0x35688c;});}return null;};}function removeEntity(_0xc46107,_0x227559){return function(_0xf84172){if(_0xf84172){return _0xf84172[_0xe6a3('0x1e')]()[_0xe6a3('0x1d')](function(){_0xc46107[_0xe6a3('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x8ff738,_0xb5052f){return function(_0x2bc095){if(!_0x2bc095){_0x8ff738['sendStatus'](0x194);}return _0x2bc095;};}function handleError(_0x1f0234,_0x1b9064){_0x1b9064=_0x1b9064||0x1f4;return function(_0x5812bf){logger['error'](_0x5812bf['stack']);if(_0x5812bf[_0xe6a3('0x1f')]){delete _0x5812bf[_0xe6a3('0x1f')];}_0x1f0234[_0xe6a3('0x16')](_0x1b9064)[_0xe6a3('0x20')](_0x5812bf);};}exports[_0xe6a3('0x21')]=function(_0x37a760,_0x3f8c2f){var _0x4c114d={},_0x174d93={},_0x27b06e={'count':0x0,'rows':[]};var _0x2356d2=_[_0xe6a3('0x22')](db['SquareRecording'][_0xe6a3('0x23')],function(_0x259753){return{'name':_0x259753[_0xe6a3('0x24')],'type':_0x259753[_0xe6a3('0x25')][_0xe6a3('0x26')]};});_0x174d93[_0xe6a3('0x27')]=_[_0xe6a3('0x22')](_0x2356d2,_0xe6a3('0x1f'));_0x174d93[_0xe6a3('0x28')]=_[_0xe6a3('0x29')](_0x37a760['query']);_0x174d93[_0xe6a3('0x2a')]=_['intersection'](_0x174d93[_0xe6a3('0x27')],_0x174d93[_0xe6a3('0x28')]);_0x4c114d[_0xe6a3('0x2b')]=_['intersection'](_0x174d93['model'],qs['fields'](_0x37a760[_0xe6a3('0x28')][_0xe6a3('0x2c')]));_0x4c114d[_0xe6a3('0x2b')]=_0x4c114d['attributes'][_0xe6a3('0x2d')]?_0x4c114d[_0xe6a3('0x2b')]:_0x174d93['model'];if(!_0x37a760[_0xe6a3('0x28')][_0xe6a3('0x2e')](_0xe6a3('0x2f'))){_0x4c114d[_0xe6a3('0x18')]=qs[_0xe6a3('0x18')](_0x37a760['query']['limit']);_0x4c114d['offset']=qs['offset'](_0x37a760['query'][_0xe6a3('0x17')]);}_0x4c114d[_0xe6a3('0x30')]=qs[_0xe6a3('0x31')](_0x37a760[_0xe6a3('0x28')][_0xe6a3('0x31')]);_0x4c114d[_0xe6a3('0x32')]=qs[_0xe6a3('0x2a')](_[_0xe6a3('0x33')](_0x37a760[_0xe6a3('0x28')],_0x174d93[_0xe6a3('0x2a')]));if(_0x37a760[_0xe6a3('0x28')][_0xe6a3('0x34')]){_0x4c114d[_0xe6a3('0x32')]=_[_0xe6a3('0x35')](_0x4c114d['where'],{'$or':_[_0xe6a3('0x22')](_0x2356d2,function(_0x2b877d){if(_0x2b877d[_0xe6a3('0x25')]!=='VIRTUAL'){var _0x199b91={};_0x199b91[_0x2b877d[_0xe6a3('0x1f')]]={'$like':'%'+_0x37a760[_0xe6a3('0x28')]['filter']+'%'};return _0x199b91;}})});}_0x4c114d=_['merge']({},_0x4c114d,_0x37a760['options']);var _0x291585={'where':_0x4c114d['where']};return db[_0xe6a3('0x36')][_0xe6a3('0x37')](_0x291585)[_0xe6a3('0x1d')](function(_0x16529e){_0x27b06e['count']=_0x16529e;if(_0x37a760[_0xe6a3('0x28')][_0xe6a3('0x38')]){_0x4c114d[_0xe6a3('0x39')]=[{'all':!![]}];}return db['SquareRecording'][_0xe6a3('0x3a')](_0x4c114d);})[_0xe6a3('0x1d')](function(_0x3e7358){_0x27b06e[_0xe6a3('0x3b')]=_0x3e7358;return _0x27b06e;})[_0xe6a3('0x1d')](respondWithFilteredResult(_0x3f8c2f,_0x4c114d))[_0xe6a3('0x3c')](handleError(_0x3f8c2f,null));};exports[_0xe6a3('0x3d')]=function(_0x145118,_0x3b5bb2){var _0x57c661={'raw':!![],'where':{'id':_0x145118['params']['id']}},_0xaa1669={};_0xaa1669[_0xe6a3('0x27')]=_[_0xe6a3('0x29')](db['SquareRecording']['rawAttributes']);_0xaa1669['query']=_['keys'](_0x145118['query']);_0xaa1669[_0xe6a3('0x2a')]=_[_0xe6a3('0x3e')](_0xaa1669[_0xe6a3('0x27')],_0xaa1669['query']);_0x57c661[_0xe6a3('0x2b')]=_[_0xe6a3('0x3e')](_0xaa1669['model'],qs[_0xe6a3('0x2c')](_0x145118['query']['fields']));_0x57c661[_0xe6a3('0x2b')]=_0x57c661[_0xe6a3('0x2b')]['length']?_0x57c661['attributes']:_0xaa1669['model'];if(_0x145118[_0xe6a3('0x28')][_0xe6a3('0x38')]){_0x57c661[_0xe6a3('0x39')]=[{'all':!![]}];}_0x57c661=_[_0xe6a3('0x35')]({},_0x57c661,_0x145118[_0xe6a3('0x3f')]);return db['SquareRecording'][_0xe6a3('0x40')](_0x57c661)[_0xe6a3('0x1d')](handleEntityNotFound(_0x3b5bb2,null))[_0xe6a3('0x1d')](respondWithResult(_0x3b5bb2,null))['catch'](handleError(_0x3b5bb2,null));};exports[_0xe6a3('0x41')]=function(_0x24e9dc,_0x5b4627){return db['SquareRecording'][_0xe6a3('0x41')](_0x24e9dc[_0xe6a3('0x42')],{})[_0xe6a3('0x1d')](respondWithResult(_0x5b4627,0xc9))[_0xe6a3('0x3c')](handleError(_0x5b4627,null));};exports[_0xe6a3('0x43')]=function(_0x574571,_0x1939fa){if(_0x574571[_0xe6a3('0x42')]['id']){delete _0x574571[_0xe6a3('0x42')]['id'];}return db[_0xe6a3('0x36')][_0xe6a3('0x40')]({'where':{'id':_0x574571[_0xe6a3('0x44')]['id']}})[_0xe6a3('0x1d')](handleEntityNotFound(_0x1939fa,null))['then'](saveUpdates(_0x574571[_0xe6a3('0x42')],null))[_0xe6a3('0x1d')](respondWithResult(_0x1939fa,null))[_0xe6a3('0x3c')](handleError(_0x1939fa,null));};exports[_0xe6a3('0x45')]=function(_0x10da2a,_0x4d1382,_0x2ec81a){var _0x444010=require('../../components/encryptor');var _0x1b1bc1=![];var _0x5a627b={};if(_0x10da2a['query']['type']&&_0x10da2a[_0xe6a3('0x28')][_0xe6a3('0x25')]===_0xe6a3('0x46')){_0x5a627b[_0xe6a3('0x46')]=_0x10da2a['params']['id'];}else{_0x5a627b['id']=_0x10da2a[_0xe6a3('0x44')]['id'];}return db['SquareRecording'][_0xe6a3('0x40')]({'where':_0x5a627b,'attributes':['id',_0xe6a3('0x47'),_0xe6a3('0x48')],'raw':!![]})[_0xe6a3('0x1d')](handleEntityNotFound(_0x4d1382,null))[_0xe6a3('0x1d')](function(_0x54857b){if(_0x54857b){var _0x5ed4cd=_0x54857b[_0xe6a3('0x47')];var _0x2d3887=util[_0xe6a3('0x49')]('%s.cypher',_0x5ed4cd);if(fs['existsSync'](_0x2d3887)){_0x1b1bc1=!![];return _0x444010[_0xe6a3('0x4a')](_0x2d3887,_0x5ed4cd,config[_0xe6a3('0x4b')][_0xe6a3('0x4c')])[_0xe6a3('0x1d')](function(){return _0x54857b;});}return _0x54857b;}})[_0xe6a3('0x1d')](function(_0x3d0a2c){if(_0x3d0a2c){var _0x4867e7=_0x3d0a2c[_0xe6a3('0x47')];if(!fs['existsSync'](_0x4867e7)){throw new db[(_0xe6a3('0x4d'))][(_0xe6a3('0x4e'))](_0xe6a3('0x4f'));}if(_0x3d0a2c[_0xe6a3('0x48')]){return _0x4d1382[_0xe6a3('0x45')](_0x4867e7,_0x3d0a2c[_0xe6a3('0x48')]+path['extname'](_0x4867e7),function(){if(_0x1b1bc1){fs[_0xe6a3('0x50')](_0x4867e7);}});}else{return _0x4d1382[_0xe6a3('0x45')](_0x4867e7,function(_0x3fcfde){if(_0x1b1bc1){fs[_0xe6a3('0x50')](_0x4867e7);}});}}})[_0xe6a3('0x3c')](function(_0x3416bf){if(_0x3416bf[_0xe6a3('0x51')]===_0xe6a3('0x4f')){_0x4d1382[_0xe6a3('0x16')](0x194)['send'](_0xe6a3('0x52'));}else{return handleError(_0x4d1382,null);}});};exports['destroy']=function(_0x1d3e20,_0x42d4e7){return db['SquareRecording']['find']({'where':{'id':_0x1d3e20[_0xe6a3('0x44')]['id']}})[_0xe6a3('0x1d')](function(_0x4d0f35){if(!_0x4d0f35)throw new ReferenceError(_0xe6a3('0x53'));return _0x4d0f35;})[_0xe6a3('0x1d')](function(_0x1a5314){var _0x5e1822=_0x1a5314[_0xe6a3('0x47')];logger[_0xe6a3('0x54')](_0xe6a3('0x55'),_0x5e1822);if(!_[_0xe6a3('0x56')](_0x1a5314[_0xe6a3('0x47')])&&fs[_0xe6a3('0x57')](_0x5e1822)){logger[_0xe6a3('0x54')](_0xe6a3('0x58')+_0x5e1822+_0xe6a3('0x59'));fs[_0xe6a3('0x5a')](_0x5e1822);}_0x5e1822=_0x5e1822+_0xe6a3('0x5b');if(!_[_0xe6a3('0x56')](_0x1a5314[_0xe6a3('0x47')])&&fs['existsSync'](_0x5e1822)){logger['info'](_0xe6a3('0x58')+_0x5e1822+_0xe6a3('0x59'));fs[_0xe6a3('0x5a')](_0x5e1822);}return _0x1a5314;})[_0xe6a3('0x1d')](function(_0x50226c){if(!_0x50226c)throw new InternalError();return _0x50226c[_0xe6a3('0x1e')]();})[_0xe6a3('0x1d')](function(){_0x42d4e7['status'](0xcc)['end']();})[_0xe6a3('0x3c')](handleError(_0x42d4e7,null));};