Built motion from commit (unavailable).|2.4.18
[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 _0xd0d4=['../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','end','sendStatus','error','stack','name','send','index','map','ScreenRecording','rawAttributes','fieldName','type','key','model','format','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','options','then','includeAll','findAll','rows','catch','show','keys','include','create','body','duration','createdAt','closedAt','find','params','describe','download','../../components/encryptor','uniqueid','value','join','server/files/screen_recordings','%s.cypher','existsSync','decryptFile','root','ValidationError','ScreenRecording\x20not\x20found','filename','message','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','isNil','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x16db18,_0x43fd3f){var _0x48cc3a=function(_0x4711a9){while(--_0x4711a9){_0x16db18['push'](_0x16db18['shift']());}};_0x48cc3a(++_0x43fd3f);}(_0xd0d4,0xc1));var _0x4d0d=function(_0x8c43de,_0x90ff31){_0x8c43de=_0x8c43de-0x0;var _0xa6591b=_0xd0d4[_0x8c43de];return _0xa6591b;};'use strict';var pdf=require(_0x4d0d('0x0'));var emlformat=require(_0x4d0d('0x1'));var rimraf=require(_0x4d0d('0x2'));var zipdir=require(_0x4d0d('0x3'));var jsonpatch=require(_0x4d0d('0x4'));var rp=require(_0x4d0d('0x5'));var moment=require(_0x4d0d('0x6'));var BPromise=require(_0x4d0d('0x7'));var Mustache=require(_0x4d0d('0x8'));var util=require(_0x4d0d('0x9'));var path=require('path');var sox=require(_0x4d0d('0xa'));var csv=require('to-csv');var ejs=require(_0x4d0d('0xb'));var fs=require('fs');var _=require(_0x4d0d('0xc'));var squel=require(_0x4d0d('0xd'));var crypto=require('crypto');var jsforce=require(_0x4d0d('0xe'));var deskjs=require(_0x4d0d('0xf'));var toCsv=require(_0x4d0d('0x10'));var querystring=require(_0x4d0d('0x11'));var Papa=require(_0x4d0d('0x12'));var Redis=require(_0x4d0d('0x13'));var authService=require(_0x4d0d('0x14'));var qs=require(_0x4d0d('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4d0d('0x16'));var logger=require(_0x4d0d('0x17'))('api');var utils=require(_0x4d0d('0x18'));var config=require(_0x4d0d('0x19'));var db=require(_0x4d0d('0x1a'))['db'];function respondWithStatusCode(_0x134b0c,_0x5d652a){_0x5d652a=_0x5d652a||0xcc;return function(_0x52ed03){if(_0x52ed03){return _0x134b0c['sendStatus'](_0x5d652a);}return _0x134b0c[_0x4d0d('0x1b')](_0x5d652a)['end']();};}function respondWithResult(_0x450ae8,_0x138385){_0x138385=_0x138385||0xc8;return function(_0x1c2bb6){if(_0x1c2bb6){return _0x450ae8[_0x4d0d('0x1b')](_0x138385)[_0x4d0d('0x1c')](_0x1c2bb6);}};}function respondWithFilteredResult(_0x5be758,_0x43f4d1){return function(_0x5b5549){if(_0x5b5549){var _0x313db0=_0x5b5549[_0x4d0d('0x1d')],_0x5518fe=_0x43f4d1[_0x4d0d('0x1e')],_0x233010=_0x43f4d1[_0x4d0d('0x1e')]+_0x43f4d1[_0x4d0d('0x1f')],_0x3f7992;if(_0x233010>=_0x313db0){_0x233010=_0x313db0;_0x3f7992=0xc8;}else{_0x3f7992=0xce;}_0x5be758[_0x4d0d('0x1b')](_0x3f7992);return _0x5be758[_0x4d0d('0x20')](_0x4d0d('0x21'),_0x5518fe+'-'+_0x233010+'/'+_0x313db0)['json'](_0x5b5549);}return null;};}function patchUpdates(_0x5381b2){return function(_0x546825){try{jsonpatch[_0x4d0d('0x22')](_0x546825,_0x5381b2,!![]);}catch(_0x2c8568){return BPromise[_0x4d0d('0x23')](_0x2c8568);}return _0x546825[_0x4d0d('0x24')]();};}function saveUpdates(_0x118a9a,_0x56cb78){return function(_0x45ddd1){if(_0x45ddd1){return _0x45ddd1[_0x4d0d('0x25')](_0x118a9a)['then'](function(_0x471e88){return _0x471e88;});}return null;};}function removeEntity(_0x4834c6,_0xedc541){return function(_0xb0a3ca){if(_0xb0a3ca){return _0xb0a3ca[_0x4d0d('0x26')]()['then'](function(){_0x4834c6[_0x4d0d('0x1b')](0xcc)[_0x4d0d('0x27')]();});}};}function handleEntityNotFound(_0x5aebfd,_0x3cade7){return function(_0x4b00d8){if(!_0x4b00d8){_0x5aebfd[_0x4d0d('0x28')](0x194);}return _0x4b00d8;};}function handleError(_0x58ce6e,_0x5b7995){_0x5b7995=_0x5b7995||0x1f4;return function(_0x4014fe){logger[_0x4d0d('0x29')](_0x4014fe[_0x4d0d('0x2a')]);if(_0x4014fe[_0x4d0d('0x2b')]){delete _0x4014fe[_0x4d0d('0x2b')];}_0x58ce6e[_0x4d0d('0x1b')](_0x5b7995)[_0x4d0d('0x2c')](_0x4014fe);};}exports[_0x4d0d('0x2d')]=function(_0x548b7f,_0x2f19ad){var _0x5d6e2a={},_0x348848={},_0x48f866={'count':0x0,'rows':[]};var _0x545681=_[_0x4d0d('0x2e')](db[_0x4d0d('0x2f')][_0x4d0d('0x30')],function(_0x2cce9a){return{'name':_0x2cce9a[_0x4d0d('0x31')],'type':_0x2cce9a[_0x4d0d('0x32')][_0x4d0d('0x33')]};});_0x348848[_0x4d0d('0x34')]=_['differenceBy'](_[_0x4d0d('0x2e')](_0x545681,_0x4d0d('0x2b')),[_0x4d0d('0x35')]);_0x348848['query']=_['keys'](_0x548b7f[_0x4d0d('0x36')]);_0x348848['filters']=_[_0x4d0d('0x37')](_0x348848['model'],_0x348848[_0x4d0d('0x36')]);_0x5d6e2a['attributes']=_[_0x4d0d('0x37')](_0x348848[_0x4d0d('0x34')],qs['fields'](_0x548b7f[_0x4d0d('0x36')][_0x4d0d('0x38')]));_0x5d6e2a['attributes']=_0x5d6e2a[_0x4d0d('0x39')][_0x4d0d('0x3a')]?_0x5d6e2a[_0x4d0d('0x39')]:_0x348848[_0x4d0d('0x34')];if(!_0x548b7f[_0x4d0d('0x36')][_0x4d0d('0x3b')](_0x4d0d('0x3c'))){_0x5d6e2a['limit']=qs[_0x4d0d('0x1f')](_0x548b7f[_0x4d0d('0x36')][_0x4d0d('0x1f')]);_0x5d6e2a[_0x4d0d('0x1e')]=qs[_0x4d0d('0x1e')](_0x548b7f[_0x4d0d('0x36')][_0x4d0d('0x1e')]);}_0x5d6e2a[_0x4d0d('0x3d')]=qs['sort'](_0x548b7f[_0x4d0d('0x36')][_0x4d0d('0x3e')]);_0x5d6e2a[_0x4d0d('0x3f')]=qs[_0x4d0d('0x40')](_[_0x4d0d('0x41')](_0x548b7f['query'],_0x348848[_0x4d0d('0x40')]));if(_0x548b7f[_0x4d0d('0x36')]['filter']){_0x5d6e2a[_0x4d0d('0x3f')]=_[_0x4d0d('0x42')](_0x5d6e2a[_0x4d0d('0x3f')],{'$or':_['map'](_0x545681,function(_0x574c8f){if(_0x574c8f[_0x4d0d('0x32')]!==_0x4d0d('0x43')){var _0x2748b4={};_0x2748b4[_0x574c8f['name']]={'$like':'%'+_0x548b7f[_0x4d0d('0x36')]['filter']+'%'};return _0x2748b4;}})});}_0x5d6e2a=_[_0x4d0d('0x42')]({},_0x5d6e2a,_0x548b7f[_0x4d0d('0x44')]);var _0x56ab5a={'where':_0x5d6e2a[_0x4d0d('0x3f')]};return db[_0x4d0d('0x2f')][_0x4d0d('0x1d')](_0x56ab5a)[_0x4d0d('0x45')](function(_0x41e6d1){_0x48f866['count']=_0x41e6d1;if(_0x548b7f['query'][_0x4d0d('0x46')]){_0x5d6e2a['include']=[{'all':!![]}];}return db['ScreenRecording'][_0x4d0d('0x47')](_0x5d6e2a);})[_0x4d0d('0x45')](function(_0x354209){_0x48f866[_0x4d0d('0x48')]=_0x354209;return _0x48f866;})[_0x4d0d('0x45')](respondWithFilteredResult(_0x2f19ad,_0x5d6e2a))[_0x4d0d('0x49')](handleError(_0x2f19ad,null));};exports[_0x4d0d('0x4a')]=function(_0x341863,_0x31fb4e){var _0x3c0871={'raw':![],'where':{'id':_0x341863['params']['id']}},_0x5bae49={};_0x5bae49['model']=_[_0x4d0d('0x4b')](db[_0x4d0d('0x2f')][_0x4d0d('0x30')]);_0x5bae49[_0x4d0d('0x36')]=_['keys'](_0x341863[_0x4d0d('0x36')]);_0x5bae49[_0x4d0d('0x40')]=_[_0x4d0d('0x37')](_0x5bae49[_0x4d0d('0x34')],_0x5bae49[_0x4d0d('0x36')]);_0x3c0871['attributes']=_[_0x4d0d('0x37')](_0x5bae49['model'],qs[_0x4d0d('0x38')](_0x341863[_0x4d0d('0x36')]['fields']));_0x3c0871[_0x4d0d('0x39')]=_0x3c0871[_0x4d0d('0x39')]['length']?_0x3c0871[_0x4d0d('0x39')]:_0x5bae49[_0x4d0d('0x34')];if(_0x341863[_0x4d0d('0x36')][_0x4d0d('0x46')]){_0x3c0871[_0x4d0d('0x4c')]=[{'all':!![]}];}_0x3c0871=_[_0x4d0d('0x42')]({},_0x3c0871,_0x341863[_0x4d0d('0x44')]);return db[_0x4d0d('0x2f')]['find'](_0x3c0871)[_0x4d0d('0x45')](handleEntityNotFound(_0x31fb4e,null))[_0x4d0d('0x45')](respondWithResult(_0x31fb4e,null))['catch'](handleError(_0x31fb4e,null));};exports[_0x4d0d('0x4d')]=function(_0x1c81ad,_0x3703e0){return db[_0x4d0d('0x2f')][_0x4d0d('0x4d')](_0x1c81ad['body'],{})[_0x4d0d('0x45')](respondWithResult(_0x3703e0,0xc9))['catch'](handleError(_0x3703e0,null));};exports[_0x4d0d('0x25')]=function(_0x3b7f86,_0xc72820){if(_0x3b7f86[_0x4d0d('0x4e')]['id']){delete _0x3b7f86[_0x4d0d('0x4e')]['id'];}delete _0x3b7f86[_0x4d0d('0x4e')][_0x4d0d('0x4f')];delete _0x3b7f86[_0x4d0d('0x4e')][_0x4d0d('0x50')];delete _0x3b7f86['body'][_0x4d0d('0x51')];delete _0x3b7f86[_0x4d0d('0x4e')]['value'];return db['ScreenRecording'][_0x4d0d('0x52')]({'where':{'id':_0x3b7f86[_0x4d0d('0x53')]['id']}})[_0x4d0d('0x45')](handleEntityNotFound(_0xc72820,null))['then'](saveUpdates(_0x3b7f86['body'],null))[_0x4d0d('0x45')](respondWithResult(_0xc72820,null))[_0x4d0d('0x49')](handleError(_0xc72820,null));};exports[_0x4d0d('0x54')]=function(_0x36439c,_0x110448){return db[_0x4d0d('0x2f')][_0x4d0d('0x54')]()['then'](respondWithResult(_0x110448,null))['catch'](handleError(_0x110448,null));};exports[_0x4d0d('0x55')]=function(_0x27c5dc,_0x354e77,_0x2508aa){var _0xf0066a=require(_0x4d0d('0x56'));var _0x48ce77=![];var _0x12c557={};if(_0x27c5dc[_0x4d0d('0x36')][_0x4d0d('0x32')]&&_0x27c5dc['query']['type']===_0x4d0d('0x57')){_0x12c557[_0x4d0d('0x57')]=_0x27c5dc[_0x4d0d('0x53')]['id'];}else{_0x12c557['id']=_0x27c5dc[_0x4d0d('0x53')]['id'];}return db[_0x4d0d('0x2f')]['find']({'where':_0x12c557,'attributes':['id',_0x4d0d('0x58')],'raw':!![]})[_0x4d0d('0x45')](handleEntityNotFound(_0x354e77,null))['then'](function(_0x51396f){if(_0x51396f){var _0x193022=path[_0x4d0d('0x59')](config['root'],_0x4d0d('0x5a'),_0x51396f[_0x4d0d('0x58')]);var _0x5111c0=util[_0x4d0d('0x35')](_0x4d0d('0x5b'),_0x193022);if(fs[_0x4d0d('0x5c')](_0x5111c0)){_0x48ce77=!![];return _0xf0066a[_0x4d0d('0x5d')](_0x5111c0,_0x193022,config['secrets']['recording'])[_0x4d0d('0x45')](function(){return _0x51396f;});}return _0x51396f;}})[_0x4d0d('0x45')](function(_0x2d4f5c){if(_0x2d4f5c){var _0x41aae8=path[_0x4d0d('0x59')](config[_0x4d0d('0x5e')],_0x4d0d('0x5a'),_0x2d4f5c[_0x4d0d('0x58')]);if(!fs[_0x4d0d('0x5c')](_0x41aae8)){throw new db['Sequelize'][(_0x4d0d('0x5f'))](_0x4d0d('0x60'));}if(_0x2d4f5c[_0x4d0d('0x61')]){return _0x354e77['download'](_0x41aae8,_0x2d4f5c[_0x4d0d('0x61')]+path['extname'](_0x41aae8),function(){if(_0x48ce77){fs['unlink'](_0x41aae8);}});}else{return _0x354e77[_0x4d0d('0x55')](_0x41aae8,function(_0x3074ec){if(_0x48ce77){fs['unlink'](_0x41aae8);}});}}})[_0x4d0d('0x49')](function(_0x1a5d9f){if(_0x1a5d9f[_0x4d0d('0x62')]===_0x4d0d('0x60')){_0x354e77[_0x4d0d('0x1b')](0x194)[_0x4d0d('0x2c')]('Not\x20found');}else{return handleError(_0x354e77,null);}});};exports[_0x4d0d('0x26')]=function(_0x16f622,_0x55d655){return db[_0x4d0d('0x2f')][_0x4d0d('0x52')]({'where':{'id':_0x16f622[_0x4d0d('0x53')]['id']}})['then'](function(_0x3d55e6){if(!_0x3d55e6)throw new ReferenceError(_0x4d0d('0x63'));return _0x3d55e6;})[_0x4d0d('0x45')](function(_0x290d37){var _0x2f0599=path['join'](config['root'],_0x4d0d('0x5a'),_0x290d37[_0x4d0d('0x58')]);logger[_0x4d0d('0x64')](_0x4d0d('0x65'),_0x2f0599);if(!_['isNil'](_0x290d37['value'])&&fs['existsSync'](_0x2f0599)){logger['info'](_0x4d0d('0x66')+_0x2f0599+_0x4d0d('0x67'));fs[_0x4d0d('0x68')](_0x2f0599);}_0x2f0599=_0x2f0599+_0x4d0d('0x69');if(!_[_0x4d0d('0x6a')](_0x290d37[_0x4d0d('0x58')])&&fs[_0x4d0d('0x5c')](_0x2f0599)){logger[_0x4d0d('0x64')](_0x4d0d('0x66')+_0x2f0599+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x4d0d('0x68')](_0x2f0599);}return _0x290d37;})[_0x4d0d('0x45')](function(_0x23706a){if(!_0x23706a)throw new InternalError();return _0x23706a['destroy']();})['then'](function(){_0x55d655['status'](0xcc)['end']();})['catch'](handleError(_0x55d655,null));};