Built motion from commit (unavailable).|2.4.4
[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 _0xd61e=['catch','show','params','find','create','body','download','uniqueid','savePath','filename','%s.cypher','existsSync','secrets','recording','Sequelize','ValidationError','SquareRecording\x20not\x20found','extname','unlink','message','Not\x20found','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','querystring','papaparse','ioredis','../../components/auth/service','api','../../config/utils','sendStatus','status','end','count','offset','limit','Content-Range','json','apply','reject','then','destroy','index','rawAttributes','model','keys','filters','intersection','attributes','fields','length','query','sort','filter','where','merge','map','type','field','options','SquareRecording','includeAll','include','findAll'];(function(_0x44ab01,_0xd7a2a7){var _0x1e3fe0=function(_0x1cacca){while(--_0x1cacca){_0x44ab01['push'](_0x44ab01['shift']());}};_0x1e3fe0(++_0xd7a2a7);}(_0xd61e,0x13d));var _0xed61=function(_0x3f469f,_0x4e1bee){_0x3f469f=_0x3f469f-0x0;var _0x3064f3=_0xd61e[_0x3f469f];return _0x3064f3;};'use strict';var pdf=require(_0xed61('0x0'));var emlformat=require(_0xed61('0x1'));var rimraf=require(_0xed61('0x2'));var zipdir=require(_0xed61('0x3'));var jsonpatch=require(_0xed61('0x4'));var rp=require(_0xed61('0x5'));var moment=require('moment');var BPromise=require(_0xed61('0x6'));var Mustache=require(_0xed61('0x7'));var util=require(_0xed61('0x8'));var path=require(_0xed61('0x9'));var sox=require(_0xed61('0xa'));var csv=require(_0xed61('0xb'));var ejs=require(_0xed61('0xc'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xed61('0xb'));var querystring=require(_0xed61('0xd'));var Papa=require(_0xed61('0xe'));var Redis=require(_0xed61('0xf'));var authService=require(_0xed61('0x10'));var qs=require('../../components/parsers/qs');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xed61('0x11'));var utils=require(_0xed61('0x12'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5792a2,_0x51a0be){_0x51a0be=_0x51a0be||0xcc;return function(_0xeedb63){if(_0xeedb63){return _0x5792a2[_0xed61('0x13')](_0x51a0be);}return _0x5792a2[_0xed61('0x14')](_0x51a0be)[_0xed61('0x15')]();};}function respondWithResult(_0x5bf8fb,_0x22f4bf){_0x22f4bf=_0x22f4bf||0xc8;return function(_0x28f4cb){if(_0x28f4cb){return _0x5bf8fb[_0xed61('0x14')](_0x22f4bf)['json'](_0x28f4cb);}};}function respondWithFilteredResult(_0x445545,_0x7048d3){return function(_0x16fa20){if(_0x16fa20){var _0x2ad52a=_0x16fa20[_0xed61('0x16')],_0x4d3930=_0x7048d3[_0xed61('0x17')],_0x15198a=_0x7048d3['offset']+_0x7048d3[_0xed61('0x18')],_0x391d53;if(_0x15198a>=_0x2ad52a){_0x15198a=_0x2ad52a;_0x391d53=0xc8;}else{_0x391d53=0xce;}_0x445545[_0xed61('0x14')](_0x391d53);return _0x445545['set'](_0xed61('0x19'),_0x4d3930+'-'+_0x15198a+'/'+_0x2ad52a)[_0xed61('0x1a')](_0x16fa20);}return null;};}function patchUpdates(_0x9d980e){return function(_0x488741){try{jsonpatch[_0xed61('0x1b')](_0x488741,_0x9d980e,!![]);}catch(_0xb7879f){return BPromise[_0xed61('0x1c')](_0xb7879f);}return _0x488741['save']();};}function saveUpdates(_0x2836d7,_0x2b21bd){return function(_0xce408c){if(_0xce408c){return _0xce408c['update'](_0x2836d7)[_0xed61('0x1d')](function(_0x16d63a){return _0x16d63a;});}return null;};}function removeEntity(_0x481211,_0x62f482){return function(_0x315020){if(_0x315020){return _0x315020[_0xed61('0x1e')]()['then'](function(){_0x481211['status'](0xcc)[_0xed61('0x15')]();});}};}function handleEntityNotFound(_0x544d49,_0xa17a06){return function(_0x217e93){if(!_0x217e93){_0x544d49[_0xed61('0x13')](0x194);}return _0x217e93;};}function handleError(_0x39a8ff,_0x40ea88){_0x40ea88=_0x40ea88||0x1f4;return function(_0x5a71f0){logger['error'](_0x5a71f0['stack']);if(_0x5a71f0['name']){delete _0x5a71f0['name'];}_0x39a8ff[_0xed61('0x14')](_0x40ea88)['send'](_0x5a71f0);};}exports[_0xed61('0x1f')]=function(_0x2c43ba,_0x5dc3bf){var _0x503bc7={},_0x14d140={},_0xca7c0c={'count':0x0,'rows':[]};var _0x7784f3=db['SquareRecording'][_0xed61('0x20')];_0x14d140[_0xed61('0x21')]=_[_0xed61('0x22')](_0x7784f3);_0x14d140['query']=_[_0xed61('0x22')](_0x2c43ba['query']);_0x14d140[_0xed61('0x23')]=_[_0xed61('0x24')](_0x14d140[_0xed61('0x21')],_0x14d140['query']);_0x503bc7[_0xed61('0x25')]=_[_0xed61('0x24')](_0x14d140[_0xed61('0x21')],qs[_0xed61('0x26')](_0x2c43ba['query'][_0xed61('0x26')]));_0x503bc7['attributes']=_0x503bc7['attributes'][_0xed61('0x27')]?_0x503bc7[_0xed61('0x25')]:_0x14d140[_0xed61('0x21')];if(!_0x2c43ba[_0xed61('0x28')]['hasOwnProperty']('nolimit')){_0x503bc7[_0xed61('0x18')]=qs[_0xed61('0x18')](_0x2c43ba[_0xed61('0x28')][_0xed61('0x18')]);_0x503bc7[_0xed61('0x17')]=qs[_0xed61('0x17')](_0x2c43ba[_0xed61('0x28')]['offset']);}_0x503bc7['order']=qs[_0xed61('0x29')](_0x2c43ba['query'][_0xed61('0x29')]);_0x503bc7['where']=qs['filters'](_['pick'](_0x2c43ba['query'],_0x14d140['filters']));if(_0x2c43ba[_0xed61('0x28')][_0xed61('0x2a')]){_0x503bc7[_0xed61('0x2b')]=_[_0xed61('0x2c')](_0x503bc7[_0xed61('0x2b')],{'$or':_[_0xed61('0x2d')](_0x7784f3,function(_0x2ff8a1){if(_0x2ff8a1[_0xed61('0x2e')]['key']!=='VIRTUAL'){var _0x4b7688={};_0x4b7688[_0x2ff8a1[_0xed61('0x2f')]]={'$like':'%'+_0x2c43ba[_0xed61('0x28')][_0xed61('0x2a')]+'%'};return _0x4b7688;}})});}_0x503bc7=_['merge']({},_0x503bc7,_0x2c43ba[_0xed61('0x30')]);var _0x36cf2b={'where':_0x503bc7['where']};return db[_0xed61('0x31')][_0xed61('0x16')](_0x36cf2b)[_0xed61('0x1d')](function(_0x3ac45e){_0xca7c0c['count']=_0x3ac45e;if(_0x2c43ba[_0xed61('0x28')][_0xed61('0x32')]){_0x503bc7[_0xed61('0x33')]=[{'all':!![]}];}return db[_0xed61('0x31')][_0xed61('0x34')](_0x503bc7);})[_0xed61('0x1d')](function(_0x10e5db){_0xca7c0c['rows']=_0x10e5db;return _0xca7c0c;})[_0xed61('0x1d')](respondWithFilteredResult(_0x5dc3bf,_0x503bc7))[_0xed61('0x35')](handleError(_0x5dc3bf,null));};exports[_0xed61('0x36')]=function(_0x28a1dd,_0x10c835){var _0x400596={'raw':!![],'where':{'id':_0x28a1dd[_0xed61('0x37')]['id']}},_0x35ad22={};_0x35ad22[_0xed61('0x21')]=_[_0xed61('0x22')](db[_0xed61('0x31')][_0xed61('0x20')]);_0x35ad22[_0xed61('0x28')]=_[_0xed61('0x22')](_0x28a1dd['query']);_0x35ad22['filters']=_[_0xed61('0x24')](_0x35ad22[_0xed61('0x21')],_0x35ad22['query']);_0x400596['attributes']=_['intersection'](_0x35ad22['model'],qs[_0xed61('0x26')](_0x28a1dd[_0xed61('0x28')][_0xed61('0x26')]));_0x400596[_0xed61('0x25')]=_0x400596[_0xed61('0x25')][_0xed61('0x27')]?_0x400596['attributes']:_0x35ad22[_0xed61('0x21')];if(_0x28a1dd[_0xed61('0x28')][_0xed61('0x32')]){_0x400596['include']=[{'all':!![]}];}_0x400596=_[_0xed61('0x2c')]({},_0x400596,_0x28a1dd[_0xed61('0x30')]);return db[_0xed61('0x31')][_0xed61('0x38')](_0x400596)[_0xed61('0x1d')](handleEntityNotFound(_0x10c835,null))['then'](respondWithResult(_0x10c835,null))['catch'](handleError(_0x10c835,null));};exports[_0xed61('0x39')]=function(_0x536ada,_0x3e4e4f){return db[_0xed61('0x31')]['create'](_0x536ada[_0xed61('0x3a')],{})[_0xed61('0x1d')](respondWithResult(_0x3e4e4f,0xc9))[_0xed61('0x35')](handleError(_0x3e4e4f,null));};exports['update']=function(_0x12c297,_0xbf0b30){if(_0x12c297['body']['id']){delete _0x12c297[_0xed61('0x3a')]['id'];}return db[_0xed61('0x31')][_0xed61('0x38')]({'where':{'id':_0x12c297[_0xed61('0x37')]['id']}})[_0xed61('0x1d')](handleEntityNotFound(_0xbf0b30,null))[_0xed61('0x1d')](saveUpdates(_0x12c297[_0xed61('0x3a')],null))[_0xed61('0x1d')](respondWithResult(_0xbf0b30,null))[_0xed61('0x35')](handleError(_0xbf0b30,null));};exports[_0xed61('0x1e')]=function(_0x2bf758,_0x3a6693){return db[_0xed61('0x31')][_0xed61('0x38')]({'where':{'id':_0x2bf758[_0xed61('0x37')]['id']}})[_0xed61('0x1d')](handleEntityNotFound(_0x3a6693,null))[_0xed61('0x1d')](removeEntity(_0x3a6693,null))[_0xed61('0x35')](handleError(_0x3a6693,null));};exports[_0xed61('0x3b')]=function(_0x23f69a,_0xac4195,_0x326d2a){var _0x4297dd=require('../../components/encryptor');var _0x4effa3=![];var _0x28950f={};if(_0x23f69a[_0xed61('0x28')][_0xed61('0x2e')]&&_0x23f69a[_0xed61('0x28')]['type']===_0xed61('0x3c')){_0x28950f[_0xed61('0x3c')]=_0x23f69a[_0xed61('0x37')]['id'];}else{_0x28950f['id']=_0x23f69a['params']['id'];}return db['SquareRecording']['find']({'where':_0x28950f,'attributes':['id',_0xed61('0x3d'),_0xed61('0x3e')],'raw':!![]})[_0xed61('0x1d')](handleEntityNotFound(_0xac4195,null))[_0xed61('0x1d')](function(_0x29945c){if(_0x29945c){var _0x38d112=_0x29945c[_0xed61('0x3d')];var _0xc5b636=util['format'](_0xed61('0x3f'),_0x38d112);if(fs[_0xed61('0x40')](_0xc5b636)){_0x4effa3=!![];return _0x4297dd['decryptFile'](_0xc5b636,_0x38d112,config[_0xed61('0x41')][_0xed61('0x42')])[_0xed61('0x1d')](function(){return _0x29945c;});}return _0x29945c;}})['then'](function(_0x937ab5){if(_0x937ab5){var _0x5768d6=_0x937ab5[_0xed61('0x3d')];if(!fs[_0xed61('0x40')](_0x5768d6)){throw new db[(_0xed61('0x43'))][(_0xed61('0x44'))](_0xed61('0x45'));}if(_0x937ab5[_0xed61('0x3e')]){return _0xac4195[_0xed61('0x3b')](_0x5768d6,_0x937ab5['filename']+path[_0xed61('0x46')](_0x5768d6),function(){if(_0x4effa3){fs[_0xed61('0x47')](_0x5768d6);}});}else{return _0xac4195[_0xed61('0x3b')](_0x5768d6,function(_0x36bb49){if(_0x4effa3){fs[_0xed61('0x47')](_0x5768d6);}});}}})[_0xed61('0x35')](function(_0x4fa0e7){if(_0x4fa0e7[_0xed61('0x48')]==='SquareRecording\x20not\x20found'){_0xac4195[_0xed61('0x14')](0x194)['send'](_0xed61('0x49'));}else{return handleError(_0xac4195,null);}});};