d0406c6fa19eb7da8a90374ff282096166176806
[motion2.git] / server / api / screenRecording / screenRecording.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 _0xc69b=['Entity\x20not\x20found','cancellazione\x20fisica\x20documento\x20%s','isNil','existsSync','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','info','html-pdf','rimraf','fast-json-patch','request-promise','moment','mustache','sox','to-csv','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','count','offset','limit','status','set','Content-Range','json','apply','reject','save','update','then','destroy','error','name','index','map','rawAttributes','fieldName','type','key','format','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','ScreenRecording','includeAll','rows','catch','params','length','create','body','duration','createdAt','value','find','describe','download','../../components/encryptor','uniqueid','join','root','%s.cypher','decryptFile','secrets','server/files/screen_recordings','ValidationError','ScreenRecording\x20not\x20found','filename','unlink','message','send'];(function(_0x187803,_0x1f7912){var _0xf5cf8d=function(_0x4cd746){while(--_0x4cd746){_0x187803['push'](_0x187803['shift']());}};_0xf5cf8d(++_0x1f7912);}(_0xc69b,0xcf));var _0xbc69=function(_0x51ab83,_0x2721b9){_0x51ab83=_0x51ab83-0x0;var _0x14b6de=_0xc69b[_0x51ab83];return _0x14b6de;};'use strict';var pdf=require(_0xbc69('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xbc69('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbc69('0x2'));var rp=require(_0xbc69('0x3'));var moment=require(_0xbc69('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xbc69('0x5'));var util=require('util');var path=require('path');var sox=require(_0xbc69('0x6'));var csv=require(_0xbc69('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbc69('0x8'));var squel=require(_0xbc69('0x9'));var crypto=require(_0xbc69('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xbc69('0xb'));var toCsv=require(_0xbc69('0x7'));var querystring=require(_0xbc69('0xc'));var Papa=require(_0xbc69('0xd'));var Redis=require(_0xbc69('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xbc69('0xf'));var as=require(_0xbc69('0x10'));var hardwareService=require(_0xbc69('0x11'));var logger=require(_0xbc69('0x12'))(_0xbc69('0x13'));var utils=require('../../config/utils');var config=require(_0xbc69('0x14'));var db=require(_0xbc69('0x15'))['db'];function respondWithStatusCode(_0x18af38,_0x291173){_0x291173=_0x291173||0xcc;return function(_0x4a875d){if(_0x4a875d){return _0x18af38[_0xbc69('0x16')](_0x291173);}return _0x18af38['status'](_0x291173)[_0xbc69('0x17')]();};}function respondWithResult(_0x481a31,_0x14fbe5){_0x14fbe5=_0x14fbe5||0xc8;return function(_0xd5d849){if(_0xd5d849){return _0x481a31['status'](_0x14fbe5)['json'](_0xd5d849);}};}function respondWithFilteredResult(_0x18d46d,_0x3f7e16){return function(_0x33da2f){if(_0x33da2f){var _0x181544=_0x33da2f[_0xbc69('0x18')],_0x45f525=_0x3f7e16[_0xbc69('0x19')],_0x3a1f3a=_0x3f7e16['offset']+_0x3f7e16[_0xbc69('0x1a')],_0x213c20;if(_0x3a1f3a>=_0x181544){_0x3a1f3a=_0x181544;_0x213c20=0xc8;}else{_0x213c20=0xce;}_0x18d46d[_0xbc69('0x1b')](_0x213c20);return _0x18d46d[_0xbc69('0x1c')](_0xbc69('0x1d'),_0x45f525+'-'+_0x3a1f3a+'/'+_0x181544)[_0xbc69('0x1e')](_0x33da2f);}return null;};}function patchUpdates(_0x4cca15){return function(_0x37c392){try{jsonpatch[_0xbc69('0x1f')](_0x37c392,_0x4cca15,!![]);}catch(_0x3d996a){return BPromise[_0xbc69('0x20')](_0x3d996a);}return _0x37c392[_0xbc69('0x21')]();};}function saveUpdates(_0x71fbd9,_0x4e00ec){return function(_0x609296){if(_0x609296){return _0x609296[_0xbc69('0x22')](_0x71fbd9)[_0xbc69('0x23')](function(_0xf6d656){return _0xf6d656;});}return null;};}function removeEntity(_0xedd028,_0x37fee1){return function(_0x46eaf2){if(_0x46eaf2){return _0x46eaf2[_0xbc69('0x24')]()[_0xbc69('0x23')](function(){_0xedd028[_0xbc69('0x1b')](0xcc)[_0xbc69('0x17')]();});}};}function handleEntityNotFound(_0x512894,_0x509c3e){return function(_0x2fb791){if(!_0x2fb791){_0x512894['sendStatus'](0x194);}return _0x2fb791;};}function handleError(_0x3a9168,_0x47d454){_0x47d454=_0x47d454||0x1f4;return function(_0x3c59e6){logger[_0xbc69('0x25')](_0x3c59e6['stack']);if(_0x3c59e6[_0xbc69('0x26')]){delete _0x3c59e6[_0xbc69('0x26')];}_0x3a9168[_0xbc69('0x1b')](_0x47d454)['send'](_0x3c59e6);};}exports[_0xbc69('0x27')]=function(_0x4e99e9,_0xb0f5d1){var _0x36e6a4={},_0x921665={},_0x5a9af8={'count':0x0,'rows':[]};var _0xe424c2=_[_0xbc69('0x28')](db['ScreenRecording'][_0xbc69('0x29')],function(_0x176e51){return{'name':_0x176e51[_0xbc69('0x2a')],'type':_0x176e51[_0xbc69('0x2b')][_0xbc69('0x2c')]};});_0x921665['model']=_['differenceBy'](_[_0xbc69('0x28')](_0xe424c2,_0xbc69('0x26')),[_0xbc69('0x2d')]);_0x921665[_0xbc69('0x2e')]=_[_0xbc69('0x2f')](_0x4e99e9[_0xbc69('0x2e')]);_0x921665[_0xbc69('0x30')]=_[_0xbc69('0x31')](_0x921665[_0xbc69('0x32')],_0x921665[_0xbc69('0x2e')]);_0x36e6a4[_0xbc69('0x33')]=_['intersection'](_0x921665[_0xbc69('0x32')],qs['fields'](_0x4e99e9['query'][_0xbc69('0x34')]));_0x36e6a4[_0xbc69('0x33')]=_0x36e6a4[_0xbc69('0x33')]['length']?_0x36e6a4['attributes']:_0x921665[_0xbc69('0x32')];if(!_0x4e99e9[_0xbc69('0x2e')][_0xbc69('0x35')]('nolimit')){_0x36e6a4[_0xbc69('0x1a')]=qs[_0xbc69('0x1a')](_0x4e99e9[_0xbc69('0x2e')][_0xbc69('0x1a')]);_0x36e6a4[_0xbc69('0x19')]=qs[_0xbc69('0x19')](_0x4e99e9['query'][_0xbc69('0x19')]);}_0x36e6a4[_0xbc69('0x36')]=qs[_0xbc69('0x37')](_0x4e99e9['query'][_0xbc69('0x37')]);_0x36e6a4[_0xbc69('0x38')]=qs[_0xbc69('0x30')](_[_0xbc69('0x39')](_0x4e99e9[_0xbc69('0x2e')],_0x921665['filters']),_0xe424c2);if(_0x4e99e9[_0xbc69('0x2e')][_0xbc69('0x3a')]){_0x36e6a4[_0xbc69('0x38')]=_[_0xbc69('0x3b')](_0x36e6a4[_0xbc69('0x38')],{'$or':_['map'](_0xe424c2,function(_0x5ed4e6){if(_0x5ed4e6[_0xbc69('0x2b')]!==_0xbc69('0x3c')){var _0x187f67={};_0x187f67[_0x5ed4e6['name']]={'$like':'%'+_0x4e99e9[_0xbc69('0x2e')][_0xbc69('0x3a')]+'%'};return _0x187f67;}})});}_0x36e6a4=_[_0xbc69('0x3b')]({},_0x36e6a4,_0x4e99e9[_0xbc69('0x3d')]);var _0xf6d1a7={'where':_0x36e6a4[_0xbc69('0x38')]};return db[_0xbc69('0x3e')]['count'](_0xf6d1a7)['then'](function(_0xac84b){_0x5a9af8[_0xbc69('0x18')]=_0xac84b;if(_0x4e99e9['query'][_0xbc69('0x3f')]){_0x36e6a4['include']=[{'all':!![]}];}return db[_0xbc69('0x3e')]['findAll'](_0x36e6a4);})[_0xbc69('0x23')](function(_0x4bb75e){_0x5a9af8[_0xbc69('0x40')]=_0x4bb75e;return _0x5a9af8;})[_0xbc69('0x23')](respondWithFilteredResult(_0xb0f5d1,_0x36e6a4))[_0xbc69('0x41')](handleError(_0xb0f5d1,null));};exports['show']=function(_0x4fc028,_0x26a455){var _0x3c7f4a={'raw':![],'where':{'id':_0x4fc028[_0xbc69('0x42')]['id']}},_0x1cf5b6={};_0x1cf5b6[_0xbc69('0x32')]=_['keys'](db[_0xbc69('0x3e')][_0xbc69('0x29')]);_0x1cf5b6[_0xbc69('0x2e')]=_[_0xbc69('0x2f')](_0x4fc028[_0xbc69('0x2e')]);_0x1cf5b6[_0xbc69('0x30')]=_['intersection'](_0x1cf5b6['model'],_0x1cf5b6[_0xbc69('0x2e')]);_0x3c7f4a[_0xbc69('0x33')]=_[_0xbc69('0x31')](_0x1cf5b6['model'],qs[_0xbc69('0x34')](_0x4fc028[_0xbc69('0x2e')][_0xbc69('0x34')]));_0x3c7f4a[_0xbc69('0x33')]=_0x3c7f4a[_0xbc69('0x33')][_0xbc69('0x43')]?_0x3c7f4a['attributes']:_0x1cf5b6['model'];if(_0x4fc028['query'][_0xbc69('0x3f')]){_0x3c7f4a['include']=[{'all':!![]}];}_0x3c7f4a=_[_0xbc69('0x3b')]({},_0x3c7f4a,_0x4fc028[_0xbc69('0x3d')]);return db['ScreenRecording']['find'](_0x3c7f4a)[_0xbc69('0x23')](handleEntityNotFound(_0x26a455,null))[_0xbc69('0x23')](respondWithResult(_0x26a455,null))['catch'](handleError(_0x26a455,null));};exports[_0xbc69('0x44')]=function(_0x43699b,_0x40e8ff){return db[_0xbc69('0x3e')][_0xbc69('0x44')](_0x43699b[_0xbc69('0x45')],{})[_0xbc69('0x23')](respondWithResult(_0x40e8ff,0xc9))[_0xbc69('0x41')](handleError(_0x40e8ff,null));};exports['update']=function(_0x28ea80,_0x4c3eda){if(_0x28ea80['body']['id']){delete _0x28ea80['body']['id'];}delete _0x28ea80[_0xbc69('0x45')][_0xbc69('0x46')];delete _0x28ea80['body'][_0xbc69('0x47')];delete _0x28ea80[_0xbc69('0x45')]['closedAt'];delete _0x28ea80['body'][_0xbc69('0x48')];return db[_0xbc69('0x3e')][_0xbc69('0x49')]({'where':{'id':_0x28ea80['params']['id']}})[_0xbc69('0x23')](handleEntityNotFound(_0x4c3eda,null))[_0xbc69('0x23')](saveUpdates(_0x28ea80['body'],null))[_0xbc69('0x23')](respondWithResult(_0x4c3eda,null))[_0xbc69('0x41')](handleError(_0x4c3eda,null));};exports['describe']=function(_0x2243e2,_0x1d4468){return db[_0xbc69('0x3e')][_0xbc69('0x4a')]()[_0xbc69('0x23')](respondWithResult(_0x1d4468,null))['catch'](handleError(_0x1d4468,null));};exports[_0xbc69('0x4b')]=function(_0xc4a8ef,_0x46385a,_0x37763e){var _0x4ae6dc=require(_0xbc69('0x4c'));var _0x1827a6=![];var _0x4c5aff={};if(_0xc4a8ef[_0xbc69('0x2e')][_0xbc69('0x2b')]&&_0xc4a8ef['query']['type']===_0xbc69('0x4d')){_0x4c5aff['uniqueid']=_0xc4a8ef[_0xbc69('0x42')]['id'];}else{_0x4c5aff['id']=_0xc4a8ef[_0xbc69('0x42')]['id'];}return db[_0xbc69('0x3e')][_0xbc69('0x49')]({'where':_0x4c5aff,'attributes':['id','value'],'raw':!![]})[_0xbc69('0x23')](handleEntityNotFound(_0x46385a,null))[_0xbc69('0x23')](function(_0x45de29){if(_0x45de29){var _0x19ba70=path[_0xbc69('0x4e')](config[_0xbc69('0x4f')],'server/files/screen_recordings',_0x45de29[_0xbc69('0x48')]);var _0x3a9194=util['format'](_0xbc69('0x50'),_0x19ba70);if(fs['existsSync'](_0x3a9194)){_0x1827a6=!![];return _0x4ae6dc[_0xbc69('0x51')](_0x3a9194,_0x19ba70,config[_0xbc69('0x52')]['recording'])[_0xbc69('0x23')](function(){return _0x45de29;});}return _0x45de29;}})['then'](function(_0x51c5d6){if(_0x51c5d6){var _0x25a10e=path[_0xbc69('0x4e')](config['root'],_0xbc69('0x53'),_0x51c5d6[_0xbc69('0x48')]);if(!fs['existsSync'](_0x25a10e)){throw new db['Sequelize'][(_0xbc69('0x54'))](_0xbc69('0x55'));}if(_0x51c5d6[_0xbc69('0x56')]){return _0x46385a['download'](_0x25a10e,_0x51c5d6[_0xbc69('0x56')]+path['extname'](_0x25a10e),function(){if(_0x1827a6){fs[_0xbc69('0x57')](_0x25a10e);}});}else{return _0x46385a[_0xbc69('0x4b')](_0x25a10e,function(_0x43949b){if(_0x1827a6){fs[_0xbc69('0x57')](_0x25a10e);}});}}})['catch'](function(_0x200b37){if(_0x200b37[_0xbc69('0x58')]===_0xbc69('0x55')){_0x46385a[_0xbc69('0x1b')](0x194)[_0xbc69('0x59')]('Not\x20found');}else{return handleError(_0x46385a,null);}});};exports[_0xbc69('0x24')]=function(_0x516e3c,_0x4adc89){return db[_0xbc69('0x3e')][_0xbc69('0x49')]({'where':{'id':_0x516e3c['params']['id']}})[_0xbc69('0x23')](function(_0x34d021){if(!_0x34d021)throw new ReferenceError(_0xbc69('0x5a'));return _0x34d021;})[_0xbc69('0x23')](function(_0x3d7047){var _0x24731d=path[_0xbc69('0x4e')](config['root'],_0xbc69('0x53'),_0x3d7047['value']);logger['info'](_0xbc69('0x5b'),_0x24731d);if(!_[_0xbc69('0x5c')](_0x3d7047[_0xbc69('0x48')])&&fs[_0xbc69('0x5d')](_0x24731d)){logger['info'](_0xbc69('0x5e')+_0x24731d+_0xbc69('0x5f'));fs[_0xbc69('0x60')](_0x24731d);}_0x24731d=_0x24731d+_0xbc69('0x61');if(!_['isNil'](_0x3d7047['value'])&&fs[_0xbc69('0x5d')](_0x24731d)){logger[_0xbc69('0x62')]('File:\x20\x22'+_0x24731d+_0xbc69('0x5f'));fs['unlinkSync'](_0x24731d);}return _0x3d7047;})[_0xbc69('0x23')](function(_0x2bc876){if(!_0x2bc876)throw new InternalError();return _0x2bc876[_0xbc69('0x24')]();})[_0xbc69('0x23')](function(){_0x4adc89[_0xbc69('0x1b')](0xcc)['end']();})['catch'](handleError(_0x4adc89,null));};