Built motion from commit (unavailable).|2.5.14
[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 _0x5e84=['eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','update','then','destroy','error','stack','name','send','index','map','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','pick','filter','where','VIRTUAL','merge','includeAll','ScreenRecording','rows','catch','show','params','rawAttributes','options','find','create','body','duration','createdAt','closedAt','value','describe','download','../../components/encryptor','join','root','server/files/screen_recordings','format','%s.cypher','existsSync','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','extname','unlink','message','Not\x20found','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf'];(function(_0x4a4f5d,_0x293f9f){var _0x4a5452=function(_0x2dfb4b){while(--_0x2dfb4b){_0x4a4f5d['push'](_0x4a4f5d['shift']());}};_0x4a5452(++_0x293f9f);}(_0x5e84,0xd1));var _0x45e8=function(_0x4b99b2,_0x4f3b64){_0x4b99b2=_0x4b99b2-0x0;var _0x21b2ab=_0x5e84[_0x4b99b2];return _0x21b2ab;};'use strict';var pdf=require(_0x45e8('0x0'));var emlformat=require(_0x45e8('0x1'));var rimraf=require(_0x45e8('0x2'));var zipdir=require(_0x45e8('0x3'));var jsonpatch=require(_0x45e8('0x4'));var rp=require(_0x45e8('0x5'));var moment=require(_0x45e8('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x45e8('0x7'));var path=require(_0x45e8('0x8'));var sox=require('sox');var csv=require(_0x45e8('0x9'));var ejs=require(_0x45e8('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x45e8('0xb'));var crypto=require(_0x45e8('0xc'));var jsforce=require(_0x45e8('0xd'));var deskjs=require(_0x45e8('0xe'));var toCsv=require(_0x45e8('0x9'));var querystring=require('querystring');var Papa=require(_0x45e8('0xf'));var Redis=require(_0x45e8('0x10'));var authService=require(_0x45e8('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x45e8('0x12'));var hardwareService=require(_0x45e8('0x13'));var logger=require(_0x45e8('0x14'))(_0x45e8('0x15'));var utils=require(_0x45e8('0x16'));var config=require(_0x45e8('0x17'));var licenseUtil=require(_0x45e8('0x18'));var db=require(_0x45e8('0x19'))['db'];function respondWithStatusCode(_0x591849,_0x132268){_0x132268=_0x132268||0xcc;return function(_0x1fc66e){if(_0x1fc66e){return _0x591849[_0x45e8('0x1a')](_0x132268);}return _0x591849[_0x45e8('0x1b')](_0x132268)[_0x45e8('0x1c')]();};}function respondWithResult(_0x5520f1,_0x5e996b){_0x5e996b=_0x5e996b||0xc8;return function(_0x2c3aed){if(_0x2c3aed){return _0x5520f1[_0x45e8('0x1b')](_0x5e996b)['json'](_0x2c3aed);}};}function respondWithFilteredResult(_0x7e4e39,_0x4a2e52){return function(_0x3b37e2){if(_0x3b37e2){var _0x258b56=_0x3b37e2[_0x45e8('0x1d')],_0x9f0662=_0x4a2e52[_0x45e8('0x1e')],_0x1dd7bc=_0x4a2e52[_0x45e8('0x1e')]+_0x4a2e52[_0x45e8('0x1f')],_0x53aedf;if(_0x1dd7bc>=_0x258b56){_0x1dd7bc=_0x258b56;_0x53aedf=0xc8;}else{_0x53aedf=0xce;}_0x7e4e39[_0x45e8('0x1b')](_0x53aedf);return _0x7e4e39[_0x45e8('0x20')](_0x45e8('0x21'),_0x9f0662+'-'+_0x1dd7bc+'/'+_0x258b56)[_0x45e8('0x22')](_0x3b37e2);}return null;};}function patchUpdates(_0x1ac531){return function(_0x5e0e8d){try{jsonpatch[_0x45e8('0x23')](_0x5e0e8d,_0x1ac531,!![]);}catch(_0x44be38){return BPromise[_0x45e8('0x24')](_0x44be38);}return _0x5e0e8d['save']();};}function saveUpdates(_0x4de210,_0x5063a9){return function(_0x410b15){if(_0x410b15){return _0x410b15[_0x45e8('0x25')](_0x4de210)[_0x45e8('0x26')](function(_0x2d4048){return _0x2d4048;});}return null;};}function removeEntity(_0x9fffe6,_0x153785){return function(_0x1e2cd0){if(_0x1e2cd0){return _0x1e2cd0[_0x45e8('0x27')]()[_0x45e8('0x26')](function(){_0x9fffe6[_0x45e8('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x206a7c,_0x19f32f){return function(_0x1f794f){if(!_0x1f794f){_0x206a7c[_0x45e8('0x1a')](0x194);}return _0x1f794f;};}function handleError(_0x445198,_0xc3374a){_0xc3374a=_0xc3374a||0x1f4;return function(_0x591814){logger[_0x45e8('0x28')](_0x591814[_0x45e8('0x29')]);if(_0x591814[_0x45e8('0x2a')]){delete _0x591814[_0x45e8('0x2a')];}_0x445198[_0x45e8('0x1b')](_0xc3374a)[_0x45e8('0x2b')](_0x591814);};}exports[_0x45e8('0x2c')]=function(_0x2d9c83,_0x457183){var _0x5e553e={},_0x250fb7={},_0x8dc1d0={'count':0x0,'rows':[]};var _0x363f7a=_[_0x45e8('0x2d')](db['ScreenRecording']['rawAttributes'],function(_0x339477){return{'name':_0x339477[_0x45e8('0x2e')],'type':_0x339477[_0x45e8('0x2f')][_0x45e8('0x30')]};});_0x250fb7[_0x45e8('0x31')]=_['differenceBy'](_[_0x45e8('0x2d')](_0x363f7a,_0x45e8('0x2a')),['format']);_0x250fb7[_0x45e8('0x32')]=_[_0x45e8('0x33')](_0x2d9c83[_0x45e8('0x32')]);_0x250fb7[_0x45e8('0x34')]=_[_0x45e8('0x35')](_0x250fb7[_0x45e8('0x31')],_0x250fb7['query']);_0x5e553e[_0x45e8('0x36')]=_[_0x45e8('0x35')](_0x250fb7['model'],qs[_0x45e8('0x37')](_0x2d9c83[_0x45e8('0x32')][_0x45e8('0x37')]));_0x5e553e[_0x45e8('0x36')]=_0x5e553e['attributes'][_0x45e8('0x38')]?_0x5e553e[_0x45e8('0x36')]:_0x250fb7[_0x45e8('0x31')];if(!_0x2d9c83[_0x45e8('0x32')][_0x45e8('0x39')](_0x45e8('0x3a'))){_0x5e553e[_0x45e8('0x1f')]=qs[_0x45e8('0x1f')](_0x2d9c83[_0x45e8('0x32')][_0x45e8('0x1f')]);_0x5e553e[_0x45e8('0x1e')]=qs[_0x45e8('0x1e')](_0x2d9c83['query']['offset']);}_0x5e553e[_0x45e8('0x3b')]=qs['sort'](_0x2d9c83[_0x45e8('0x32')]['sort']);_0x5e553e['where']=qs[_0x45e8('0x34')](_[_0x45e8('0x3c')](_0x2d9c83[_0x45e8('0x32')],_0x250fb7[_0x45e8('0x34')]),_0x363f7a);if(_0x2d9c83['query'][_0x45e8('0x3d')]){_0x5e553e[_0x45e8('0x3e')]=_['merge'](_0x5e553e[_0x45e8('0x3e')],{'$or':_[_0x45e8('0x2d')](_0x363f7a,function(_0xf7c0c7){if(_0xf7c0c7['type']!==_0x45e8('0x3f')){var _0x4e3e0a={};_0x4e3e0a[_0xf7c0c7[_0x45e8('0x2a')]]={'$like':'%'+_0x2d9c83[_0x45e8('0x32')][_0x45e8('0x3d')]+'%'};return _0x4e3e0a;}})});}_0x5e553e=_[_0x45e8('0x40')]({},_0x5e553e,_0x2d9c83['options']);var _0x7fe315={'where':_0x5e553e['where']};return db['ScreenRecording'][_0x45e8('0x1d')](_0x7fe315)[_0x45e8('0x26')](function(_0x34c2ed){_0x8dc1d0['count']=_0x34c2ed;if(_0x2d9c83['query'][_0x45e8('0x41')]){_0x5e553e['include']=[{'all':!![]}];}return db[_0x45e8('0x42')]['findAll'](_0x5e553e);})[_0x45e8('0x26')](function(_0x15bc99){_0x8dc1d0[_0x45e8('0x43')]=_0x15bc99;return _0x8dc1d0;})[_0x45e8('0x26')](respondWithFilteredResult(_0x457183,_0x5e553e))[_0x45e8('0x44')](handleError(_0x457183,null));};exports[_0x45e8('0x45')]=function(_0x4826d2,_0x4c395c){var _0x15490f={'raw':![],'where':{'id':_0x4826d2[_0x45e8('0x46')]['id']}},_0x352981={};_0x352981[_0x45e8('0x31')]=_[_0x45e8('0x33')](db[_0x45e8('0x42')][_0x45e8('0x47')]);_0x352981[_0x45e8('0x32')]=_[_0x45e8('0x33')](_0x4826d2['query']);_0x352981[_0x45e8('0x34')]=_['intersection'](_0x352981['model'],_0x352981[_0x45e8('0x32')]);_0x15490f[_0x45e8('0x36')]=_[_0x45e8('0x35')](_0x352981[_0x45e8('0x31')],qs['fields'](_0x4826d2[_0x45e8('0x32')][_0x45e8('0x37')]));_0x15490f[_0x45e8('0x36')]=_0x15490f['attributes'][_0x45e8('0x38')]?_0x15490f[_0x45e8('0x36')]:_0x352981[_0x45e8('0x31')];if(_0x4826d2[_0x45e8('0x32')][_0x45e8('0x41')]){_0x15490f['include']=[{'all':!![]}];}_0x15490f=_[_0x45e8('0x40')]({},_0x15490f,_0x4826d2[_0x45e8('0x48')]);return db[_0x45e8('0x42')][_0x45e8('0x49')](_0x15490f)[_0x45e8('0x26')](handleEntityNotFound(_0x4c395c,null))[_0x45e8('0x26')](respondWithResult(_0x4c395c,null))[_0x45e8('0x44')](handleError(_0x4c395c,null));};exports[_0x45e8('0x4a')]=function(_0xc8b4db,_0x39061b){return db[_0x45e8('0x42')][_0x45e8('0x4a')](_0xc8b4db[_0x45e8('0x4b')],{})[_0x45e8('0x26')](respondWithResult(_0x39061b,0xc9))[_0x45e8('0x44')](handleError(_0x39061b,null));};exports[_0x45e8('0x25')]=function(_0x7bc3f,_0x23271f){if(_0x7bc3f[_0x45e8('0x4b')]['id']){delete _0x7bc3f[_0x45e8('0x4b')]['id'];}delete _0x7bc3f[_0x45e8('0x4b')][_0x45e8('0x4c')];delete _0x7bc3f['body'][_0x45e8('0x4d')];delete _0x7bc3f[_0x45e8('0x4b')][_0x45e8('0x4e')];delete _0x7bc3f[_0x45e8('0x4b')][_0x45e8('0x4f')];return db['ScreenRecording'][_0x45e8('0x49')]({'where':{'id':_0x7bc3f[_0x45e8('0x46')]['id']}})[_0x45e8('0x26')](handleEntityNotFound(_0x23271f,null))['then'](saveUpdates(_0x7bc3f[_0x45e8('0x4b')],null))[_0x45e8('0x26')](respondWithResult(_0x23271f,null))[_0x45e8('0x44')](handleError(_0x23271f,null));};exports['describe']=function(_0x441308,_0x2f0519){return db[_0x45e8('0x42')][_0x45e8('0x50')]()[_0x45e8('0x26')](respondWithResult(_0x2f0519,null))[_0x45e8('0x44')](handleError(_0x2f0519,null));};exports[_0x45e8('0x51')]=function(_0x40c917,_0x332f2e,_0x51eeec){var _0x21006e=require(_0x45e8('0x52'));var _0x1e1560=![];var _0x3b093b={};if(_0x40c917[_0x45e8('0x32')][_0x45e8('0x2f')]&&_0x40c917[_0x45e8('0x32')][_0x45e8('0x2f')]==='uniqueid'){_0x3b093b['uniqueid']=_0x40c917[_0x45e8('0x46')]['id'];}else{_0x3b093b['id']=_0x40c917[_0x45e8('0x46')]['id'];}return db['ScreenRecording'][_0x45e8('0x49')]({'where':_0x3b093b,'attributes':['id',_0x45e8('0x4f')],'raw':!![]})[_0x45e8('0x26')](handleEntityNotFound(_0x332f2e,null))['then'](function(_0x309438){if(_0x309438){var _0x23cac3=path[_0x45e8('0x53')](config[_0x45e8('0x54')],_0x45e8('0x55'),_0x309438['value']);var _0x1da32e=util[_0x45e8('0x56')](_0x45e8('0x57'),_0x23cac3);if(fs[_0x45e8('0x58')](_0x1da32e)){_0x1e1560=!![];return _0x21006e['decryptFile'](_0x1da32e,_0x23cac3,config['secrets']['recording'])[_0x45e8('0x26')](function(){return _0x309438;});}return _0x309438;}})[_0x45e8('0x26')](function(_0x2b560c){if(_0x2b560c){var _0x3d8085=path[_0x45e8('0x53')](config[_0x45e8('0x54')],_0x45e8('0x55'),_0x2b560c[_0x45e8('0x4f')]);if(!fs[_0x45e8('0x58')](_0x3d8085)){throw new db[(_0x45e8('0x59'))][(_0x45e8('0x5a'))](_0x45e8('0x5b'));}if(_0x2b560c[_0x45e8('0x5c')]){return _0x332f2e[_0x45e8('0x51')](_0x3d8085,_0x2b560c[_0x45e8('0x5c')]+path[_0x45e8('0x5d')](_0x3d8085),function(){if(_0x1e1560){fs[_0x45e8('0x5e')](_0x3d8085);}});}else{return _0x332f2e['download'](_0x3d8085,function(_0x5eb829){if(_0x1e1560){fs[_0x45e8('0x5e')](_0x3d8085);}});}}})[_0x45e8('0x44')](function(_0x25487d){if(_0x25487d[_0x45e8('0x5f')]===_0x45e8('0x5b')){_0x332f2e['status'](0x194)['send'](_0x45e8('0x60'));}else{return handleError(_0x332f2e,null);}});};exports[_0x45e8('0x27')]=function(_0x2b6dce,_0x8f5003){return db[_0x45e8('0x42')]['find']({'where':{'id':_0x2b6dce[_0x45e8('0x46')]['id']}})[_0x45e8('0x26')](function(_0xe5483c){if(!_0xe5483c)throw new ReferenceError(_0x45e8('0x61'));return _0xe5483c;})[_0x45e8('0x26')](function(_0x2fa97d){var _0x1b73f0=path[_0x45e8('0x53')](config[_0x45e8('0x54')],'server/files/screen_recordings',_0x2fa97d['value']);logger[_0x45e8('0x62')](_0x45e8('0x63'),_0x1b73f0);if(!_[_0x45e8('0x64')](_0x2fa97d[_0x45e8('0x4f')])&&fs[_0x45e8('0x58')](_0x1b73f0)){logger[_0x45e8('0x62')](_0x45e8('0x65')+_0x1b73f0+_0x45e8('0x66'));fs[_0x45e8('0x67')](_0x1b73f0);}_0x1b73f0=_0x1b73f0+_0x45e8('0x68');if(!_[_0x45e8('0x64')](_0x2fa97d['value'])&&fs['existsSync'](_0x1b73f0)){logger[_0x45e8('0x62')](_0x45e8('0x65')+_0x1b73f0+_0x45e8('0x66'));fs[_0x45e8('0x67')](_0x1b73f0);}return _0x2fa97d;})['then'](function(_0x4a7c47){if(!_0x4a7c47)throw new InternalError();return _0x4a7c47[_0x45e8('0x27')]();})['then'](function(){_0x8f5003[_0x45e8('0x1b')](0xcc)[_0x45e8('0x1c')]();})[_0x45e8('0x44')](handleError(_0x8f5003,null));};