Built motion from commit (unavailable).|2.5.19
[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 _0x073b=['existsSync','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','extname','unlink','download','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','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','differenceBy','format','query','keys','intersection','fields','attributes','length','hasOwnProperty','order','sort','filters','pick','filter','where','merge','VIRTUAL','options','ScreenRecording','include','findAll','catch','show','params','includeAll','create','body','update','closedAt','value','describe','../../components/encryptor','uniqueid','find','join','server/files/screen_recordings','recording','root'];(function(_0x5d46ae,_0xff47c1){var _0x78d84a=function(_0x2ee2b7){while(--_0x2ee2b7){_0x5d46ae['push'](_0x5d46ae['shift']());}};_0x78d84a(++_0xff47c1);}(_0x073b,0x1c2));var _0xb073=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x073b[_0xa464c9];return _0x3d73c4;};'use strict';var pdf=require(_0xb073('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb073('0x1'));var zipdir=require(_0xb073('0x2'));var jsonpatch=require(_0xb073('0x3'));var rp=require(_0xb073('0x4'));var moment=require(_0xb073('0x5'));var BPromise=require(_0xb073('0x6'));var Mustache=require(_0xb073('0x7'));var util=require(_0xb073('0x8'));var path=require(_0xb073('0x9'));var sox=require(_0xb073('0xa'));var csv=require('to-csv');var ejs=require(_0xb073('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0xb073('0xc'));var crypto=require(_0xb073('0xd'));var jsforce=require(_0xb073('0xe'));var deskjs=require(_0xb073('0xf'));var toCsv=require(_0xb073('0x10'));var querystring=require(_0xb073('0x11'));var Papa=require(_0xb073('0x12'));var Redis=require(_0xb073('0x13'));var authService=require(_0xb073('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xb073('0x15'));var hardwareService=require(_0xb073('0x16'));var logger=require(_0xb073('0x17'))(_0xb073('0x18'));var utils=require(_0xb073('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xb073('0x1a'));var db=require(_0xb073('0x1b'))['db'];function respondWithStatusCode(_0x5de151,_0x3c7566){_0x3c7566=_0x3c7566||0xcc;return function(_0x59ac14){if(_0x59ac14){return _0x5de151[_0xb073('0x1c')](_0x3c7566);}return _0x5de151[_0xb073('0x1d')](_0x3c7566)[_0xb073('0x1e')]();};}function respondWithResult(_0x2a6526,_0x269198){_0x269198=_0x269198||0xc8;return function(_0x4cb7e7){if(_0x4cb7e7){return _0x2a6526[_0xb073('0x1d')](_0x269198)[_0xb073('0x1f')](_0x4cb7e7);}};}function respondWithFilteredResult(_0x442715,_0x1cde29){return function(_0x384976){if(_0x384976){var _0x2b6274=_0x384976[_0xb073('0x20')],_0x5a5c52=_0x1cde29[_0xb073('0x21')],_0x4c26dc=_0x1cde29[_0xb073('0x21')]+_0x1cde29[_0xb073('0x22')],_0x4f60ad;if(_0x4c26dc>=_0x2b6274){_0x4c26dc=_0x2b6274;_0x4f60ad=0xc8;}else{_0x4f60ad=0xce;}_0x442715[_0xb073('0x1d')](_0x4f60ad);return _0x442715[_0xb073('0x23')](_0xb073('0x24'),_0x5a5c52+'-'+_0x4c26dc+'/'+_0x2b6274)[_0xb073('0x1f')](_0x384976);}return null;};}function patchUpdates(_0x38450b){return function(_0x1003b6){try{jsonpatch[_0xb073('0x25')](_0x1003b6,_0x38450b,!![]);}catch(_0x40fb31){return BPromise[_0xb073('0x26')](_0x40fb31);}return _0x1003b6['save']();};}function saveUpdates(_0x37ad5f,_0xe4114e){return function(_0x5bbeb0){if(_0x5bbeb0){return _0x5bbeb0['update'](_0x37ad5f)[_0xb073('0x27')](function(_0x4e267c){return _0x4e267c;});}return null;};}function removeEntity(_0x5a8dac,_0x47215a){return function(_0x3e7e5f){if(_0x3e7e5f){return _0x3e7e5f[_0xb073('0x28')]()['then'](function(){_0x5a8dac[_0xb073('0x1d')](0xcc)[_0xb073('0x1e')]();});}};}function handleEntityNotFound(_0x4e4006,_0x37a1b0){return function(_0xe0b6bb){if(!_0xe0b6bb){_0x4e4006[_0xb073('0x1c')](0x194);}return _0xe0b6bb;};}function handleError(_0x5ea977,_0xa96934){_0xa96934=_0xa96934||0x1f4;return function(_0x2a7ffe){logger[_0xb073('0x29')](_0x2a7ffe[_0xb073('0x2a')]);if(_0x2a7ffe[_0xb073('0x2b')]){delete _0x2a7ffe[_0xb073('0x2b')];}_0x5ea977['status'](_0xa96934)[_0xb073('0x2c')](_0x2a7ffe);};}exports[_0xb073('0x2d')]=function(_0x1e35f7,_0x2c9915){var _0x4aaf35={},_0x3e0a99={},_0x15c5cf={'count':0x0,'rows':[]};var _0x51c6ef=_[_0xb073('0x2e')](db['ScreenRecording'][_0xb073('0x2f')],function(_0x18c55b){return{'name':_0x18c55b[_0xb073('0x30')],'type':_0x18c55b[_0xb073('0x31')][_0xb073('0x32')]};});_0x3e0a99[_0xb073('0x33')]=_[_0xb073('0x34')](_[_0xb073('0x2e')](_0x51c6ef,_0xb073('0x2b')),[_0xb073('0x35')]);_0x3e0a99[_0xb073('0x36')]=_[_0xb073('0x37')](_0x1e35f7[_0xb073('0x36')]);_0x3e0a99['filters']=_[_0xb073('0x38')](_0x3e0a99[_0xb073('0x33')],_0x3e0a99[_0xb073('0x36')]);_0x4aaf35['attributes']=_['intersection'](_0x3e0a99[_0xb073('0x33')],qs[_0xb073('0x39')](_0x1e35f7[_0xb073('0x36')]['fields']));_0x4aaf35[_0xb073('0x3a')]=_0x4aaf35['attributes'][_0xb073('0x3b')]?_0x4aaf35[_0xb073('0x3a')]:_0x3e0a99[_0xb073('0x33')];if(!_0x1e35f7[_0xb073('0x36')][_0xb073('0x3c')]('nolimit')){_0x4aaf35[_0xb073('0x22')]=qs['limit'](_0x1e35f7[_0xb073('0x36')][_0xb073('0x22')]);_0x4aaf35[_0xb073('0x21')]=qs['offset'](_0x1e35f7[_0xb073('0x36')]['offset']);}_0x4aaf35[_0xb073('0x3d')]=qs[_0xb073('0x3e')](_0x1e35f7[_0xb073('0x36')][_0xb073('0x3e')]);_0x4aaf35['where']=qs[_0xb073('0x3f')](_[_0xb073('0x40')](_0x1e35f7[_0xb073('0x36')],_0x3e0a99[_0xb073('0x3f')]),_0x51c6ef);if(_0x1e35f7['query'][_0xb073('0x41')]){_0x4aaf35[_0xb073('0x42')]=_[_0xb073('0x43')](_0x4aaf35['where'],{'$or':_['map'](_0x51c6ef,function(_0x4f7434){if(_0x4f7434['type']!==_0xb073('0x44')){var _0x3356a3={};_0x3356a3[_0x4f7434[_0xb073('0x2b')]]={'$like':'%'+_0x1e35f7['query'][_0xb073('0x41')]+'%'};return _0x3356a3;}})});}_0x4aaf35=_['merge']({},_0x4aaf35,_0x1e35f7[_0xb073('0x45')]);var _0xcb38ed={'where':_0x4aaf35[_0xb073('0x42')]};return db[_0xb073('0x46')][_0xb073('0x20')](_0xcb38ed)[_0xb073('0x27')](function(_0x2d50be){_0x15c5cf['count']=_0x2d50be;if(_0x1e35f7[_0xb073('0x36')]['includeAll']){_0x4aaf35[_0xb073('0x47')]=[{'all':!![]}];}return db[_0xb073('0x46')][_0xb073('0x48')](_0x4aaf35);})[_0xb073('0x27')](function(_0x52a225){_0x15c5cf['rows']=_0x52a225;return _0x15c5cf;})[_0xb073('0x27')](respondWithFilteredResult(_0x2c9915,_0x4aaf35))[_0xb073('0x49')](handleError(_0x2c9915,null));};exports[_0xb073('0x4a')]=function(_0x5b6c4a,_0x2d3ba3){var _0xd5525e={'raw':![],'where':{'id':_0x5b6c4a[_0xb073('0x4b')]['id']}},_0x138245={};_0x138245[_0xb073('0x33')]=_[_0xb073('0x37')](db[_0xb073('0x46')][_0xb073('0x2f')]);_0x138245[_0xb073('0x36')]=_[_0xb073('0x37')](_0x5b6c4a[_0xb073('0x36')]);_0x138245[_0xb073('0x3f')]=_[_0xb073('0x38')](_0x138245[_0xb073('0x33')],_0x138245['query']);_0xd5525e['attributes']=_['intersection'](_0x138245[_0xb073('0x33')],qs['fields'](_0x5b6c4a[_0xb073('0x36')][_0xb073('0x39')]));_0xd5525e[_0xb073('0x3a')]=_0xd5525e[_0xb073('0x3a')][_0xb073('0x3b')]?_0xd5525e['attributes']:_0x138245[_0xb073('0x33')];if(_0x5b6c4a[_0xb073('0x36')][_0xb073('0x4c')]){_0xd5525e[_0xb073('0x47')]=[{'all':!![]}];}_0xd5525e=_[_0xb073('0x43')]({},_0xd5525e,_0x5b6c4a[_0xb073('0x45')]);return db['ScreenRecording']['find'](_0xd5525e)[_0xb073('0x27')](handleEntityNotFound(_0x2d3ba3,null))[_0xb073('0x27')](respondWithResult(_0x2d3ba3,null))[_0xb073('0x49')](handleError(_0x2d3ba3,null));};exports['create']=function(_0x4900d1,_0x114554){return db['ScreenRecording'][_0xb073('0x4d')](_0x4900d1[_0xb073('0x4e')],{})['then'](respondWithResult(_0x114554,0xc9))[_0xb073('0x49')](handleError(_0x114554,null));};exports[_0xb073('0x4f')]=function(_0x4c320d,_0x3ed4ae){if(_0x4c320d['body']['id']){delete _0x4c320d[_0xb073('0x4e')]['id'];}delete _0x4c320d[_0xb073('0x4e')]['duration'];delete _0x4c320d[_0xb073('0x4e')]['createdAt'];delete _0x4c320d['body'][_0xb073('0x50')];delete _0x4c320d[_0xb073('0x4e')][_0xb073('0x51')];return db['ScreenRecording']['find']({'where':{'id':_0x4c320d[_0xb073('0x4b')]['id']}})[_0xb073('0x27')](handleEntityNotFound(_0x3ed4ae,null))['then'](saveUpdates(_0x4c320d[_0xb073('0x4e')],null))[_0xb073('0x27')](respondWithResult(_0x3ed4ae,null))[_0xb073('0x49')](handleError(_0x3ed4ae,null));};exports[_0xb073('0x52')]=function(_0x44fc8f,_0x1b6a13){return db['ScreenRecording'][_0xb073('0x52')]()['then'](respondWithResult(_0x1b6a13,null))[_0xb073('0x49')](handleError(_0x1b6a13,null));};exports['download']=function(_0x241198,_0xc1359e,_0xcaaafc){var _0x60594c=require(_0xb073('0x53'));var _0x3c4c4b=![];var _0x4399e0={};if(_0x241198[_0xb073('0x36')]['type']&&_0x241198[_0xb073('0x36')]['type']===_0xb073('0x54')){_0x4399e0[_0xb073('0x54')]=_0x241198[_0xb073('0x4b')]['id'];}else{_0x4399e0['id']=_0x241198[_0xb073('0x4b')]['id'];}return db[_0xb073('0x46')][_0xb073('0x55')]({'where':_0x4399e0,'attributes':['id',_0xb073('0x51')],'raw':!![]})[_0xb073('0x27')](handleEntityNotFound(_0xc1359e,null))[_0xb073('0x27')](function(_0x9655e2){if(_0x9655e2){var _0x3a2e4d=path[_0xb073('0x56')](config['root'],_0xb073('0x57'),_0x9655e2[_0xb073('0x51')]);var _0x59c280=util[_0xb073('0x35')]('%s.cypher',_0x3a2e4d);if(fs['existsSync'](_0x59c280)){_0x3c4c4b=!![];return _0x60594c['decryptFile'](_0x59c280,_0x3a2e4d,config['secrets'][_0xb073('0x58')])['then'](function(){return _0x9655e2;});}return _0x9655e2;}})[_0xb073('0x27')](function(_0x1374b3){if(_0x1374b3){var _0x241850=path['join'](config[_0xb073('0x59')],_0xb073('0x57'),_0x1374b3[_0xb073('0x51')]);if(!fs[_0xb073('0x5a')](_0x241850)){throw new db[(_0xb073('0x5b'))][(_0xb073('0x5c'))](_0xb073('0x5d'));}if(_0x1374b3[_0xb073('0x5e')]){return _0xc1359e['download'](_0x241850,_0x1374b3[_0xb073('0x5e')]+path[_0xb073('0x5f')](_0x241850),function(){if(_0x3c4c4b){fs[_0xb073('0x60')](_0x241850);}});}else{return _0xc1359e[_0xb073('0x61')](_0x241850,function(_0x5f5ba5){if(_0x3c4c4b){fs[_0xb073('0x60')](_0x241850);}});}}})[_0xb073('0x49')](function(_0x2a2b29){if(_0x2a2b29[_0xb073('0x62')]===_0xb073('0x5d')){_0xc1359e['status'](0x194)[_0xb073('0x2c')](_0xb073('0x63'));}else{return handleError(_0xc1359e,null);}});};exports[_0xb073('0x28')]=function(_0x38a09a,_0x2b65ff){return db[_0xb073('0x46')][_0xb073('0x55')]({'where':{'id':_0x38a09a['params']['id']}})['then'](function(_0x4a6096){if(!_0x4a6096)throw new ReferenceError(_0xb073('0x64'));return _0x4a6096;})[_0xb073('0x27')](function(_0x497fc0){var _0x13acd1=path[_0xb073('0x56')](config['root'],_0xb073('0x57'),_0x497fc0[_0xb073('0x51')]);logger[_0xb073('0x65')](_0xb073('0x66'),_0x13acd1);if(!_[_0xb073('0x67')](_0x497fc0[_0xb073('0x51')])&&fs['existsSync'](_0x13acd1)){logger[_0xb073('0x65')](_0xb073('0x68')+_0x13acd1+_0xb073('0x69'));fs[_0xb073('0x6a')](_0x13acd1);}_0x13acd1=_0x13acd1+_0xb073('0x6b');if(!_[_0xb073('0x67')](_0x497fc0['value'])&&fs[_0xb073('0x5a')](_0x13acd1)){logger[_0xb073('0x65')]('File:\x20\x22'+_0x13acd1+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0xb073('0x6a')](_0x13acd1);}return _0x497fc0;})[_0xb073('0x27')](function(_0x3a6474){if(!_0x3a6474)throw new InternalError();return _0x3a6474[_0xb073('0x28')]();})[_0xb073('0x27')](function(){_0x2b65ff['status'](0xcc)[_0xb073('0x1e')]();})[_0xb073('0x49')](handleError(_0x2b65ff,null));};