Built motion from commit (unavailable).|2.5.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 _0xdf72=['unlink','message','send','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','File:\x20\x22','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','update','then','destroy','stack','name','index','map','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','pick','filter','merge','VIRTUAL','options','SquareRecording','includeAll','include','findAll','rows','catch','show','params','keys','length','find','create','body','uniqueid','savePath','format','existsSync','decryptFile','secrets','Sequelize','ValidationError','SquareRecording\x20not\x20found','download','filename','extname'];(function(_0x315aea,_0x318a80){var _0x4a4bdb=function(_0x7c049c){while(--_0x7c049c){_0x315aea['push'](_0x315aea['shift']());}};_0x4a4bdb(++_0x318a80);}(_0xdf72,0x68));var _0x2df7=function(_0x1b95a1,_0x529852){_0x1b95a1=_0x1b95a1-0x0;var _0x57aef1=_0xdf72[_0x1b95a1];return _0x57aef1;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x2df7('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2df7('0x1'));var rp=require(_0x2df7('0x2'));var moment=require(_0x2df7('0x3'));var BPromise=require(_0x2df7('0x4'));var Mustache=require(_0x2df7('0x5'));var util=require(_0x2df7('0x6'));var path=require(_0x2df7('0x7'));var sox=require(_0x2df7('0x8'));var csv=require(_0x2df7('0x9'));var ejs=require(_0x2df7('0xa'));var fs=require('fs');var _=require(_0x2df7('0xb'));var squel=require(_0x2df7('0xc'));var crypto=require('crypto');var jsforce=require(_0x2df7('0xd'));var deskjs=require(_0x2df7('0xe'));var toCsv=require(_0x2df7('0x9'));var querystring=require(_0x2df7('0xf'));var Papa=require(_0x2df7('0x10'));var Redis=require(_0x2df7('0x11'));var authService=require(_0x2df7('0x12'));var qs=require(_0x2df7('0x13'));var as=require(_0x2df7('0x14'));var hardwareService=require(_0x2df7('0x15'));var logger=require('../../config/logger')(_0x2df7('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4a23e6,_0x10d9d7){_0x10d9d7=_0x10d9d7||0xcc;return function(_0x1bf388){if(_0x1bf388){return _0x4a23e6[_0x2df7('0x17')](_0x10d9d7);}return _0x4a23e6[_0x2df7('0x18')](_0x10d9d7)[_0x2df7('0x19')]();};}function respondWithResult(_0x5caf12,_0x2389a5){_0x2389a5=_0x2389a5||0xc8;return function(_0x5e0b7e){if(_0x5e0b7e){return _0x5caf12[_0x2df7('0x18')](_0x2389a5)[_0x2df7('0x1a')](_0x5e0b7e);}};}function respondWithFilteredResult(_0x5ee1ba,_0x4b9bbc){return function(_0x1bd882){if(_0x1bd882){var _0x41982a=_0x1bd882[_0x2df7('0x1b')],_0x1598b=_0x4b9bbc['offset'],_0x26cbe5=_0x4b9bbc[_0x2df7('0x1c')]+_0x4b9bbc['limit'],_0x4d5a90;if(_0x26cbe5>=_0x41982a){_0x26cbe5=_0x41982a;_0x4d5a90=0xc8;}else{_0x4d5a90=0xce;}_0x5ee1ba[_0x2df7('0x18')](_0x4d5a90);return _0x5ee1ba[_0x2df7('0x1d')](_0x2df7('0x1e'),_0x1598b+'-'+_0x26cbe5+'/'+_0x41982a)[_0x2df7('0x1a')](_0x1bd882);}return null;};}function patchUpdates(_0x5beec0){return function(_0xbfdd0e){try{jsonpatch[_0x2df7('0x1f')](_0xbfdd0e,_0x5beec0,!![]);}catch(_0x39b4a7){return BPromise[_0x2df7('0x20')](_0x39b4a7);}return _0xbfdd0e['save']();};}function saveUpdates(_0x5b4c2a,_0x205dc2){return function(_0x5144ed){if(_0x5144ed){return _0x5144ed[_0x2df7('0x21')](_0x5b4c2a)[_0x2df7('0x22')](function(_0x32a266){return _0x32a266;});}return null;};}function removeEntity(_0x11547c,_0x3c14e6){return function(_0x50f534){if(_0x50f534){return _0x50f534[_0x2df7('0x23')]()[_0x2df7('0x22')](function(){_0x11547c['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1abd0b,_0x36102d){return function(_0x41c519){if(!_0x41c519){_0x1abd0b[_0x2df7('0x17')](0x194);}return _0x41c519;};}function handleError(_0x17efd3,_0x506aaf){_0x506aaf=_0x506aaf||0x1f4;return function(_0x4c2f44){logger['error'](_0x4c2f44[_0x2df7('0x24')]);if(_0x4c2f44['name']){delete _0x4c2f44[_0x2df7('0x25')];}_0x17efd3[_0x2df7('0x18')](_0x506aaf)['send'](_0x4c2f44);};}exports[_0x2df7('0x26')]=function(_0x2cd6af,_0x22e418){var _0x5091b4={},_0x159097={},_0x1b6b8a={'count':0x0,'rows':[]};var _0x132ac3=_[_0x2df7('0x27')](db['SquareRecording'][_0x2df7('0x28')],function(_0x585ac9){return{'name':_0x585ac9['fieldName'],'type':_0x585ac9[_0x2df7('0x29')][_0x2df7('0x2a')]};});_0x159097[_0x2df7('0x2b')]=_['map'](_0x132ac3,_0x2df7('0x25'));_0x159097[_0x2df7('0x2c')]=_['keys'](_0x2cd6af[_0x2df7('0x2c')]);_0x159097[_0x2df7('0x2d')]=_[_0x2df7('0x2e')](_0x159097[_0x2df7('0x2b')],_0x159097['query']);_0x5091b4[_0x2df7('0x2f')]=_[_0x2df7('0x2e')](_0x159097['model'],qs[_0x2df7('0x30')](_0x2cd6af[_0x2df7('0x2c')][_0x2df7('0x30')]));_0x5091b4[_0x2df7('0x2f')]=_0x5091b4[_0x2df7('0x2f')]['length']?_0x5091b4[_0x2df7('0x2f')]:_0x159097[_0x2df7('0x2b')];if(!_0x2cd6af['query'][_0x2df7('0x31')](_0x2df7('0x32'))){_0x5091b4[_0x2df7('0x33')]=qs[_0x2df7('0x33')](_0x2cd6af[_0x2df7('0x2c')][_0x2df7('0x33')]);_0x5091b4[_0x2df7('0x1c')]=qs['offset'](_0x2cd6af['query']['offset']);}_0x5091b4[_0x2df7('0x34')]=qs['sort'](_0x2cd6af['query'][_0x2df7('0x35')]);_0x5091b4['where']=qs[_0x2df7('0x2d')](_[_0x2df7('0x36')](_0x2cd6af['query'],_0x159097['filters']),_0x132ac3);if(_0x2cd6af[_0x2df7('0x2c')][_0x2df7('0x37')]){_0x5091b4['where']=_[_0x2df7('0x38')](_0x5091b4['where'],{'$or':_[_0x2df7('0x27')](_0x132ac3,function(_0x5e9489){if(_0x5e9489[_0x2df7('0x29')]!==_0x2df7('0x39')){var _0x5cfe25={};_0x5cfe25[_0x5e9489['name']]={'$like':'%'+_0x2cd6af[_0x2df7('0x2c')][_0x2df7('0x37')]+'%'};return _0x5cfe25;}})});}_0x5091b4=_[_0x2df7('0x38')]({},_0x5091b4,_0x2cd6af[_0x2df7('0x3a')]);var _0x1e31c9={'where':_0x5091b4['where']};return db[_0x2df7('0x3b')][_0x2df7('0x1b')](_0x1e31c9)[_0x2df7('0x22')](function(_0x4000da){_0x1b6b8a['count']=_0x4000da;if(_0x2cd6af[_0x2df7('0x2c')][_0x2df7('0x3c')]){_0x5091b4[_0x2df7('0x3d')]=[{'all':!![]}];}return db[_0x2df7('0x3b')][_0x2df7('0x3e')](_0x5091b4);})[_0x2df7('0x22')](function(_0x5dbbcf){_0x1b6b8a[_0x2df7('0x3f')]=_0x5dbbcf;return _0x1b6b8a;})[_0x2df7('0x22')](respondWithFilteredResult(_0x22e418,_0x5091b4))[_0x2df7('0x40')](handleError(_0x22e418,null));};exports[_0x2df7('0x41')]=function(_0xa105,_0x18062d){var _0x295653={'raw':!![],'where':{'id':_0xa105[_0x2df7('0x42')]['id']}},_0x74c49b={};_0x74c49b['model']=_[_0x2df7('0x43')](db['SquareRecording'][_0x2df7('0x28')]);_0x74c49b[_0x2df7('0x2c')]=_['keys'](_0xa105['query']);_0x74c49b[_0x2df7('0x2d')]=_[_0x2df7('0x2e')](_0x74c49b[_0x2df7('0x2b')],_0x74c49b['query']);_0x295653[_0x2df7('0x2f')]=_[_0x2df7('0x2e')](_0x74c49b['model'],qs[_0x2df7('0x30')](_0xa105[_0x2df7('0x2c')]['fields']));_0x295653[_0x2df7('0x2f')]=_0x295653[_0x2df7('0x2f')][_0x2df7('0x44')]?_0x295653[_0x2df7('0x2f')]:_0x74c49b[_0x2df7('0x2b')];if(_0xa105[_0x2df7('0x2c')][_0x2df7('0x3c')]){_0x295653[_0x2df7('0x3d')]=[{'all':!![]}];}_0x295653=_['merge']({},_0x295653,_0xa105[_0x2df7('0x3a')]);return db[_0x2df7('0x3b')][_0x2df7('0x45')](_0x295653)[_0x2df7('0x22')](handleEntityNotFound(_0x18062d,null))[_0x2df7('0x22')](respondWithResult(_0x18062d,null))[_0x2df7('0x40')](handleError(_0x18062d,null));};exports[_0x2df7('0x46')]=function(_0x149b7c,_0x1a901e){return db['SquareRecording']['create'](_0x149b7c[_0x2df7('0x47')],{})[_0x2df7('0x22')](respondWithResult(_0x1a901e,0xc9))[_0x2df7('0x40')](handleError(_0x1a901e,null));};exports[_0x2df7('0x21')]=function(_0x5c2114,_0x4ea0a5){if(_0x5c2114[_0x2df7('0x47')]['id']){delete _0x5c2114[_0x2df7('0x47')]['id'];}return db[_0x2df7('0x3b')][_0x2df7('0x45')]({'where':{'id':_0x5c2114['params']['id']}})[_0x2df7('0x22')](handleEntityNotFound(_0x4ea0a5,null))[_0x2df7('0x22')](saveUpdates(_0x5c2114[_0x2df7('0x47')],null))[_0x2df7('0x22')](respondWithResult(_0x4ea0a5,null))[_0x2df7('0x40')](handleError(_0x4ea0a5,null));};exports['download']=function(_0xd79fe5,_0x4a2bb4,_0x3229ce){var _0x582e58=require('../../components/encryptor');var _0x2cc64a=![];var _0x331560={};if(_0xd79fe5[_0x2df7('0x2c')][_0x2df7('0x29')]&&_0xd79fe5['query'][_0x2df7('0x29')]===_0x2df7('0x48')){_0x331560[_0x2df7('0x48')]=_0xd79fe5['params']['id'];}else{_0x331560['id']=_0xd79fe5[_0x2df7('0x42')]['id'];}return db[_0x2df7('0x3b')][_0x2df7('0x45')]({'where':_0x331560,'attributes':['id',_0x2df7('0x49'),'filename'],'raw':!![]})[_0x2df7('0x22')](handleEntityNotFound(_0x4a2bb4,null))['then'](function(_0x2bb07b){if(_0x2bb07b){var _0x72e7b1=_0x2bb07b[_0x2df7('0x49')];var _0x18357b=util[_0x2df7('0x4a')]('%s.cypher',_0x72e7b1);if(fs[_0x2df7('0x4b')](_0x18357b)){_0x2cc64a=!![];return _0x582e58[_0x2df7('0x4c')](_0x18357b,_0x72e7b1,config[_0x2df7('0x4d')]['recording'])[_0x2df7('0x22')](function(){return _0x2bb07b;});}return _0x2bb07b;}})['then'](function(_0x3dd247){if(_0x3dd247){var _0x343577=_0x3dd247['savePath'];if(!fs[_0x2df7('0x4b')](_0x343577)){throw new db[(_0x2df7('0x4e'))][(_0x2df7('0x4f'))](_0x2df7('0x50'));}if(_0x3dd247['filename']){return _0x4a2bb4[_0x2df7('0x51')](_0x343577,_0x3dd247[_0x2df7('0x52')]+path[_0x2df7('0x53')](_0x343577),function(){if(_0x2cc64a){fs['unlink'](_0x343577);}});}else{return _0x4a2bb4['download'](_0x343577,function(_0xe5c1ae){if(_0x2cc64a){fs[_0x2df7('0x54')](_0x343577);}});}}})[_0x2df7('0x40')](function(_0x521c44){if(_0x521c44[_0x2df7('0x55')]===_0x2df7('0x50')){_0x4a2bb4['status'](0x194)[_0x2df7('0x56')]('Not\x20found');}else{return handleError(_0x4a2bb4,null);}});};exports[_0x2df7('0x23')]=function(_0x17414e,_0x17f00c){return db[_0x2df7('0x3b')][_0x2df7('0x45')]({'where':{'id':_0x17414e[_0x2df7('0x42')]['id']}})[_0x2df7('0x22')](function(_0x3f45e3){if(!_0x3f45e3)throw new ReferenceError(_0x2df7('0x57'));return _0x3f45e3;})[_0x2df7('0x22')](function(_0x40242d){var _0x444600=_0x40242d[_0x2df7('0x49')];logger[_0x2df7('0x58')](_0x2df7('0x59'),_0x444600);if(!_[_0x2df7('0x5a')](_0x40242d[_0x2df7('0x49')])&&fs[_0x2df7('0x4b')](_0x444600)){logger[_0x2df7('0x58')]('File:\x20\x22'+_0x444600+_0x2df7('0x5b'));fs[_0x2df7('0x5c')](_0x444600);}_0x444600=_0x444600+'.cypher';if(!_[_0x2df7('0x5a')](_0x40242d['savePath'])&&fs[_0x2df7('0x4b')](_0x444600)){logger['info'](_0x2df7('0x5d')+_0x444600+_0x2df7('0x5b'));fs['unlinkSync'](_0x444600);}return _0x40242d;})[_0x2df7('0x22')](function(_0x46cfcb){if(!_0x46cfcb)throw new InternalError();return _0x46cfcb[_0x2df7('0x23')]();})[_0x2df7('0x22')](function(){_0x17f00c['status'](0xcc)[_0x2df7('0x19')]();})[_0x2df7('0x40')](handleError(_0x17f00c,null));};