Built motion from commit (unavailable).|2.5.21
[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 _0xd11b=['value','describe','../../components/encryptor','uniqueid','join','server/files/screen_recordings','%s.cypher','existsSync','decryptFile','secrets','root','Sequelize','filename','download','unlink','ScreenRecording\x20not\x20found','Not\x20found','destroy','Entity\x20not\x20found','isNil','info','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','stack','name','send','map','ScreenRecording','rawAttributes','fieldName','type','key','model','format','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','show','params','find','catch','create','body','duration','createdAt','closedAt'];(function(_0x195060,_0x529335){var _0x384d57=function(_0x458a87){while(--_0x458a87){_0x195060['push'](_0x195060['shift']());}};_0x384d57(++_0x529335);}(_0xd11b,0x148));var _0xbd11=function(_0x45f6e5,_0x17a515){_0x45f6e5=_0x45f6e5-0x0;var _0x48f124=_0xd11b[_0x45f6e5];return _0x48f124;};'use strict';var pdf=require(_0xbd11('0x0'));var emlformat=require(_0xbd11('0x1'));var rimraf=require(_0xbd11('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbd11('0x3'));var rp=require('request-promise');var moment=require(_0xbd11('0x4'));var BPromise=require(_0xbd11('0x5'));var Mustache=require(_0xbd11('0x6'));var util=require(_0xbd11('0x7'));var path=require(_0xbd11('0x8'));var sox=require(_0xbd11('0x9'));var csv=require(_0xbd11('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbd11('0xb'));var squel=require(_0xbd11('0xc'));var crypto=require('crypto');var jsforce=require(_0xbd11('0xd'));var deskjs=require(_0xbd11('0xe'));var toCsv=require(_0xbd11('0xa'));var querystring=require('querystring');var Papa=require(_0xbd11('0xf'));var Redis=require(_0xbd11('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xbd11('0x11'));var as=require(_0xbd11('0x12'));var hardwareService=require(_0xbd11('0x13'));var logger=require('../../config/logger')(_0xbd11('0x14'));var utils=require(_0xbd11('0x15'));var config=require(_0xbd11('0x16'));var licenseUtil=require(_0xbd11('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x36b952,_0x5c0a90){_0x5c0a90=_0x5c0a90||0xcc;return function(_0x27213d){if(_0x27213d){return _0x36b952[_0xbd11('0x18')](_0x5c0a90);}return _0x36b952['status'](_0x5c0a90)[_0xbd11('0x19')]();};}function respondWithResult(_0x272933,_0x433735){_0x433735=_0x433735||0xc8;return function(_0x2aa131){if(_0x2aa131){return _0x272933[_0xbd11('0x1a')](_0x433735)[_0xbd11('0x1b')](_0x2aa131);}};}function respondWithFilteredResult(_0xca0b3f,_0x4b9959){return function(_0x5cb60c){if(_0x5cb60c){var _0xac90c5=_0x5cb60c[_0xbd11('0x1c')],_0x15e0d3=_0x4b9959['offset'],_0x3b22cc=_0x4b9959[_0xbd11('0x1d')]+_0x4b9959[_0xbd11('0x1e')],_0x5b72c5;if(_0x3b22cc>=_0xac90c5){_0x3b22cc=_0xac90c5;_0x5b72c5=0xc8;}else{_0x5b72c5=0xce;}_0xca0b3f[_0xbd11('0x1a')](_0x5b72c5);return _0xca0b3f[_0xbd11('0x1f')](_0xbd11('0x20'),_0x15e0d3+'-'+_0x3b22cc+'/'+_0xac90c5)[_0xbd11('0x1b')](_0x5cb60c);}return null;};}function patchUpdates(_0x385ec8){return function(_0x35d5f4){try{jsonpatch[_0xbd11('0x21')](_0x35d5f4,_0x385ec8,!![]);}catch(_0x2f9378){return BPromise[_0xbd11('0x22')](_0x2f9378);}return _0x35d5f4[_0xbd11('0x23')]();};}function saveUpdates(_0x102d75,_0x6b1ace){return function(_0x7da2d4){if(_0x7da2d4){return _0x7da2d4[_0xbd11('0x24')](_0x102d75)['then'](function(_0x7e4696){return _0x7e4696;});}return null;};}function removeEntity(_0x4f8e2e,_0x30ccdd){return function(_0x2f395a){if(_0x2f395a){return _0x2f395a['destroy']()[_0xbd11('0x25')](function(){_0x4f8e2e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x25525a,_0x20fce4){return function(_0x4c9c13){if(!_0x4c9c13){_0x25525a[_0xbd11('0x18')](0x194);}return _0x4c9c13;};}function handleError(_0x25fc47,_0xfa9747){_0xfa9747=_0xfa9747||0x1f4;return function(_0x57b353){logger['error'](_0x57b353[_0xbd11('0x26')]);if(_0x57b353[_0xbd11('0x27')]){delete _0x57b353[_0xbd11('0x27')];}_0x25fc47[_0xbd11('0x1a')](_0xfa9747)[_0xbd11('0x28')](_0x57b353);};}exports['index']=function(_0x717158,_0x261bdc){var _0xbeb498={},_0x3eb054={},_0x304905={'count':0x0,'rows':[]};var _0x45cbff=_[_0xbd11('0x29')](db[_0xbd11('0x2a')][_0xbd11('0x2b')],function(_0x282700){return{'name':_0x282700[_0xbd11('0x2c')],'type':_0x282700[_0xbd11('0x2d')][_0xbd11('0x2e')]};});_0x3eb054[_0xbd11('0x2f')]=_['differenceBy'](_[_0xbd11('0x29')](_0x45cbff,'name'),[_0xbd11('0x30')]);_0x3eb054[_0xbd11('0x31')]=_[_0xbd11('0x32')](_0x717158[_0xbd11('0x31')]);_0x3eb054[_0xbd11('0x33')]=_['intersection'](_0x3eb054[_0xbd11('0x2f')],_0x3eb054[_0xbd11('0x31')]);_0xbeb498[_0xbd11('0x34')]=_[_0xbd11('0x35')](_0x3eb054['model'],qs[_0xbd11('0x36')](_0x717158[_0xbd11('0x31')][_0xbd11('0x36')]));_0xbeb498['attributes']=_0xbeb498['attributes']['length']?_0xbeb498[_0xbd11('0x34')]:_0x3eb054['model'];if(!_0x717158[_0xbd11('0x31')][_0xbd11('0x37')](_0xbd11('0x38'))){_0xbeb498[_0xbd11('0x1e')]=qs[_0xbd11('0x1e')](_0x717158['query'][_0xbd11('0x1e')]);_0xbeb498[_0xbd11('0x1d')]=qs[_0xbd11('0x1d')](_0x717158[_0xbd11('0x31')][_0xbd11('0x1d')]);}_0xbeb498['order']=qs[_0xbd11('0x39')](_0x717158[_0xbd11('0x31')][_0xbd11('0x39')]);_0xbeb498[_0xbd11('0x3a')]=qs[_0xbd11('0x33')](_[_0xbd11('0x3b')](_0x717158[_0xbd11('0x31')],_0x3eb054[_0xbd11('0x33')]),_0x45cbff);if(_0x717158[_0xbd11('0x31')][_0xbd11('0x3c')]){_0xbeb498[_0xbd11('0x3a')]=_[_0xbd11('0x3d')](_0xbeb498[_0xbd11('0x3a')],{'$or':_[_0xbd11('0x29')](_0x45cbff,function(_0x3b25a6){if(_0x3b25a6['type']!=='VIRTUAL'){var _0x5367a3={};_0x5367a3[_0x3b25a6[_0xbd11('0x27')]]={'$like':'%'+_0x717158[_0xbd11('0x31')]['filter']+'%'};return _0x5367a3;}})});}_0xbeb498=_[_0xbd11('0x3d')]({},_0xbeb498,_0x717158[_0xbd11('0x3e')]);var _0x630171={'where':_0xbeb498['where']};return db[_0xbd11('0x2a')]['count'](_0x630171)['then'](function(_0x744a4e){_0x304905[_0xbd11('0x1c')]=_0x744a4e;if(_0x717158[_0xbd11('0x31')][_0xbd11('0x3f')]){_0xbeb498[_0xbd11('0x40')]=[{'all':!![]}];}return db[_0xbd11('0x2a')][_0xbd11('0x41')](_0xbeb498);})[_0xbd11('0x25')](function(_0x194183){_0x304905[_0xbd11('0x42')]=_0x194183;return _0x304905;})[_0xbd11('0x25')](respondWithFilteredResult(_0x261bdc,_0xbeb498))['catch'](handleError(_0x261bdc,null));};exports[_0xbd11('0x43')]=function(_0x5917ea,_0x3a8cd8){var _0x2abaa7={'raw':![],'where':{'id':_0x5917ea[_0xbd11('0x44')]['id']}},_0x16889f={};_0x16889f[_0xbd11('0x2f')]=_[_0xbd11('0x32')](db[_0xbd11('0x2a')][_0xbd11('0x2b')]);_0x16889f[_0xbd11('0x31')]=_[_0xbd11('0x32')](_0x5917ea['query']);_0x16889f[_0xbd11('0x33')]=_[_0xbd11('0x35')](_0x16889f[_0xbd11('0x2f')],_0x16889f[_0xbd11('0x31')]);_0x2abaa7[_0xbd11('0x34')]=_[_0xbd11('0x35')](_0x16889f[_0xbd11('0x2f')],qs['fields'](_0x5917ea[_0xbd11('0x31')][_0xbd11('0x36')]));_0x2abaa7['attributes']=_0x2abaa7[_0xbd11('0x34')]['length']?_0x2abaa7[_0xbd11('0x34')]:_0x16889f['model'];if(_0x5917ea[_0xbd11('0x31')][_0xbd11('0x3f')]){_0x2abaa7[_0xbd11('0x40')]=[{'all':!![]}];}_0x2abaa7=_['merge']({},_0x2abaa7,_0x5917ea[_0xbd11('0x3e')]);return db[_0xbd11('0x2a')][_0xbd11('0x45')](_0x2abaa7)[_0xbd11('0x25')](handleEntityNotFound(_0x3a8cd8,null))[_0xbd11('0x25')](respondWithResult(_0x3a8cd8,null))[_0xbd11('0x46')](handleError(_0x3a8cd8,null));};exports[_0xbd11('0x47')]=function(_0x37289e,_0x488606){return db[_0xbd11('0x2a')][_0xbd11('0x47')](_0x37289e[_0xbd11('0x48')],{})[_0xbd11('0x25')](respondWithResult(_0x488606,0xc9))[_0xbd11('0x46')](handleError(_0x488606,null));};exports['update']=function(_0x45e664,_0x5f3df0){if(_0x45e664[_0xbd11('0x48')]['id']){delete _0x45e664[_0xbd11('0x48')]['id'];}delete _0x45e664[_0xbd11('0x48')][_0xbd11('0x49')];delete _0x45e664[_0xbd11('0x48')][_0xbd11('0x4a')];delete _0x45e664[_0xbd11('0x48')][_0xbd11('0x4b')];delete _0x45e664[_0xbd11('0x48')][_0xbd11('0x4c')];return db[_0xbd11('0x2a')][_0xbd11('0x45')]({'where':{'id':_0x45e664[_0xbd11('0x44')]['id']}})[_0xbd11('0x25')](handleEntityNotFound(_0x5f3df0,null))[_0xbd11('0x25')](saveUpdates(_0x45e664[_0xbd11('0x48')],null))[_0xbd11('0x25')](respondWithResult(_0x5f3df0,null))['catch'](handleError(_0x5f3df0,null));};exports[_0xbd11('0x4d')]=function(_0x1ad925,_0x5bb807){return db[_0xbd11('0x2a')][_0xbd11('0x4d')]()[_0xbd11('0x25')](respondWithResult(_0x5bb807,null))['catch'](handleError(_0x5bb807,null));};exports['download']=function(_0x393218,_0x2589ec,_0x197e16){var _0x1a4c12=require(_0xbd11('0x4e'));var _0x24023d=![];var _0x4d7143={};if(_0x393218[_0xbd11('0x31')]['type']&&_0x393218[_0xbd11('0x31')][_0xbd11('0x2d')]===_0xbd11('0x4f')){_0x4d7143[_0xbd11('0x4f')]=_0x393218[_0xbd11('0x44')]['id'];}else{_0x4d7143['id']=_0x393218['params']['id'];}return db['ScreenRecording']['find']({'where':_0x4d7143,'attributes':['id','value'],'raw':!![]})['then'](handleEntityNotFound(_0x2589ec,null))[_0xbd11('0x25')](function(_0x944cb8){if(_0x944cb8){var _0x4efc49=path[_0xbd11('0x50')](config['root'],_0xbd11('0x51'),_0x944cb8[_0xbd11('0x4c')]);var _0x10fb0d=util['format'](_0xbd11('0x52'),_0x4efc49);if(fs[_0xbd11('0x53')](_0x10fb0d)){_0x24023d=!![];return _0x1a4c12[_0xbd11('0x54')](_0x10fb0d,_0x4efc49,config[_0xbd11('0x55')]['recording'])[_0xbd11('0x25')](function(){return _0x944cb8;});}return _0x944cb8;}})['then'](function(_0x342826){if(_0x342826){var _0x4aaa14=path[_0xbd11('0x50')](config[_0xbd11('0x56')],_0xbd11('0x51'),_0x342826[_0xbd11('0x4c')]);if(!fs[_0xbd11('0x53')](_0x4aaa14)){throw new db[(_0xbd11('0x57'))]['ValidationError']('ScreenRecording\x20not\x20found');}if(_0x342826[_0xbd11('0x58')]){return _0x2589ec[_0xbd11('0x59')](_0x4aaa14,_0x342826['filename']+path['extname'](_0x4aaa14),function(){if(_0x24023d){fs[_0xbd11('0x5a')](_0x4aaa14);}});}else{return _0x2589ec['download'](_0x4aaa14,function(_0x49ca7d){if(_0x24023d){fs[_0xbd11('0x5a')](_0x4aaa14);}});}}})[_0xbd11('0x46')](function(_0x4998eb){if(_0x4998eb['message']===_0xbd11('0x5b')){_0x2589ec['status'](0x194)[_0xbd11('0x28')](_0xbd11('0x5c'));}else{return handleError(_0x2589ec,null);}});};exports[_0xbd11('0x5d')]=function(_0x1154e2,_0x9af060){return db[_0xbd11('0x2a')]['find']({'where':{'id':_0x1154e2[_0xbd11('0x44')]['id']}})[_0xbd11('0x25')](function(_0x236a0f){if(!_0x236a0f)throw new ReferenceError(_0xbd11('0x5e'));return _0x236a0f;})[_0xbd11('0x25')](function(_0x1b37ec){var _0x2dee20=path[_0xbd11('0x50')](config[_0xbd11('0x56')],_0xbd11('0x51'),_0x1b37ec[_0xbd11('0x4c')]);logger['info']('cancellazione\x20fisica\x20documento\x20%s',_0x2dee20);if(!_[_0xbd11('0x5f')](_0x1b37ec[_0xbd11('0x4c')])&&fs[_0xbd11('0x53')](_0x2dee20)){logger[_0xbd11('0x60')](_0xbd11('0x61')+_0x2dee20+_0xbd11('0x62'));fs['unlinkSync'](_0x2dee20);}_0x2dee20=_0x2dee20+_0xbd11('0x63');if(!_[_0xbd11('0x5f')](_0x1b37ec[_0xbd11('0x4c')])&&fs[_0xbd11('0x53')](_0x2dee20)){logger[_0xbd11('0x60')](_0xbd11('0x61')+_0x2dee20+_0xbd11('0x62'));fs[_0xbd11('0x64')](_0x2dee20);}return _0x1b37ec;})[_0xbd11('0x25')](function(_0x596f3a){if(!_0x596f3a)throw new InternalError();return _0x596f3a['destroy']();})[_0xbd11('0x25')](function(){_0x9af060[_0xbd11('0x1a')](0xcc)['end']();})[_0xbd11('0x46')](handleError(_0x9af060,null));};