80e354be9be77a2f641008146bec62d37436f116
[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 _0x1055=['\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','index','map','ScreenRecording','rawAttributes','fieldName','type','key','model','differenceBy','format','query','keys','attributes','fields','hasOwnProperty','order','sort','where','filters','merge','VIRTUAL','filter','options','includeAll','include','rows','catch','show','params','intersection','length','find','create','body','duration','createdAt','closedAt','value','describe','download','../../components/encryptor','uniqueid','join','root','server/files/screen_recordings','%s.cypher','existsSync','decryptFile','ValidationError','ScreenRecording\x20not\x20found','filename','extname','unlink','message','send','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22'];(function(_0x45d621,_0x15e43d){var _0x51626d=function(_0x42ada9){while(--_0x42ada9){_0x45d621['push'](_0x45d621['shift']());}};_0x51626d(++_0x15e43d);}(_0x1055,0xd1));var _0x5105=function(_0x3f8a03,_0x319b9c){_0x3f8a03=_0x3f8a03-0x0;var _0x147fb2=_0x1055[_0x3f8a03];return _0x147fb2;};'use strict';var pdf=require(_0x5105('0x0'));var emlformat=require(_0x5105('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x5105('0x2'));var jsonpatch=require(_0x5105('0x3'));var rp=require(_0x5105('0x4'));var moment=require('moment');var BPromise=require(_0x5105('0x5'));var Mustache=require('mustache');var util=require(_0x5105('0x6'));var path=require(_0x5105('0x7'));var sox=require(_0x5105('0x8'));var csv=require(_0x5105('0x9'));var ejs=require(_0x5105('0xa'));var fs=require('fs');var _=require(_0x5105('0xb'));var squel=require('squel');var crypto=require(_0x5105('0xc'));var jsforce=require(_0x5105('0xd'));var deskjs=require(_0x5105('0xe'));var toCsv=require(_0x5105('0x9'));var querystring=require(_0x5105('0xf'));var Papa=require('papaparse');var Redis=require(_0x5105('0x10'));var authService=require(_0x5105('0x11'));var qs=require(_0x5105('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5105('0x13'));var logger=require(_0x5105('0x14'))(_0x5105('0x15'));var utils=require(_0x5105('0x16'));var config=require(_0x5105('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x5105('0x18'))['db'];function respondWithStatusCode(_0x48e362,_0x3bd118){_0x3bd118=_0x3bd118||0xcc;return function(_0x2ca0f2){if(_0x2ca0f2){return _0x48e362['sendStatus'](_0x3bd118);}return _0x48e362[_0x5105('0x19')](_0x3bd118)['end']();};}function respondWithResult(_0x417e85,_0x4087b3){_0x4087b3=_0x4087b3||0xc8;return function(_0x48fa20){if(_0x48fa20){return _0x417e85[_0x5105('0x19')](_0x4087b3)[_0x5105('0x1a')](_0x48fa20);}};}function respondWithFilteredResult(_0x20e4e3,_0x1d1292){return function(_0x26d414){if(_0x26d414){var _0x53a3e5=_0x26d414[_0x5105('0x1b')],_0x509410=_0x1d1292[_0x5105('0x1c')],_0x54fea2=_0x1d1292[_0x5105('0x1c')]+_0x1d1292[_0x5105('0x1d')],_0x455eeb;if(_0x54fea2>=_0x53a3e5){_0x54fea2=_0x53a3e5;_0x455eeb=0xc8;}else{_0x455eeb=0xce;}_0x20e4e3[_0x5105('0x19')](_0x455eeb);return _0x20e4e3['set'](_0x5105('0x1e'),_0x509410+'-'+_0x54fea2+'/'+_0x53a3e5)[_0x5105('0x1a')](_0x26d414);}return null;};}function patchUpdates(_0x2b277c){return function(_0x292858){try{jsonpatch[_0x5105('0x1f')](_0x292858,_0x2b277c,!![]);}catch(_0x302bf0){return BPromise[_0x5105('0x20')](_0x302bf0);}return _0x292858[_0x5105('0x21')]();};}function saveUpdates(_0x37df6b,_0x1cac01){return function(_0x46c899){if(_0x46c899){return _0x46c899[_0x5105('0x22')](_0x37df6b)[_0x5105('0x23')](function(_0x59135d){return _0x59135d;});}return null;};}function removeEntity(_0x1a3ecb,_0x341621){return function(_0x387e11){if(_0x387e11){return _0x387e11[_0x5105('0x24')]()[_0x5105('0x23')](function(){_0x1a3ecb[_0x5105('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x279620,_0x355a29){return function(_0x3a100a){if(!_0x3a100a){_0x279620['sendStatus'](0x194);}return _0x3a100a;};}function handleError(_0x4e16f2,_0x5ba987){_0x5ba987=_0x5ba987||0x1f4;return function(_0x136ad9){logger[_0x5105('0x25')](_0x136ad9[_0x5105('0x26')]);if(_0x136ad9[_0x5105('0x27')]){delete _0x136ad9[_0x5105('0x27')];}_0x4e16f2[_0x5105('0x19')](_0x5ba987)['send'](_0x136ad9);};}exports[_0x5105('0x28')]=function(_0x2a3a54,_0x258e16){var _0x3aad45={},_0x312b68={},_0x512f9b={'count':0x0,'rows':[]};var _0x6b8f46=_[_0x5105('0x29')](db[_0x5105('0x2a')][_0x5105('0x2b')],function(_0x225fc5){return{'name':_0x225fc5[_0x5105('0x2c')],'type':_0x225fc5[_0x5105('0x2d')][_0x5105('0x2e')]};});_0x312b68[_0x5105('0x2f')]=_[_0x5105('0x30')](_['map'](_0x6b8f46,_0x5105('0x27')),[_0x5105('0x31')]);_0x312b68[_0x5105('0x32')]=_[_0x5105('0x33')](_0x2a3a54['query']);_0x312b68['filters']=_['intersection'](_0x312b68[_0x5105('0x2f')],_0x312b68['query']);_0x3aad45[_0x5105('0x34')]=_['intersection'](_0x312b68[_0x5105('0x2f')],qs[_0x5105('0x35')](_0x2a3a54[_0x5105('0x32')][_0x5105('0x35')]));_0x3aad45[_0x5105('0x34')]=_0x3aad45[_0x5105('0x34')]['length']?_0x3aad45[_0x5105('0x34')]:_0x312b68['model'];if(!_0x2a3a54[_0x5105('0x32')][_0x5105('0x36')]('nolimit')){_0x3aad45[_0x5105('0x1d')]=qs[_0x5105('0x1d')](_0x2a3a54[_0x5105('0x32')][_0x5105('0x1d')]);_0x3aad45[_0x5105('0x1c')]=qs['offset'](_0x2a3a54['query'][_0x5105('0x1c')]);}_0x3aad45[_0x5105('0x37')]=qs[_0x5105('0x38')](_0x2a3a54[_0x5105('0x32')][_0x5105('0x38')]);_0x3aad45[_0x5105('0x39')]=qs[_0x5105('0x3a')](_['pick'](_0x2a3a54[_0x5105('0x32')],_0x312b68['filters']),_0x6b8f46);if(_0x2a3a54[_0x5105('0x32')]['filter']){_0x3aad45[_0x5105('0x39')]=_[_0x5105('0x3b')](_0x3aad45['where'],{'$or':_[_0x5105('0x29')](_0x6b8f46,function(_0x3332f5){if(_0x3332f5[_0x5105('0x2d')]!==_0x5105('0x3c')){var _0x1cf2e0={};_0x1cf2e0[_0x3332f5[_0x5105('0x27')]]={'$like':'%'+_0x2a3a54[_0x5105('0x32')][_0x5105('0x3d')]+'%'};return _0x1cf2e0;}})});}_0x3aad45=_[_0x5105('0x3b')]({},_0x3aad45,_0x2a3a54[_0x5105('0x3e')]);var _0x39ad36={'where':_0x3aad45[_0x5105('0x39')]};return db['ScreenRecording'][_0x5105('0x1b')](_0x39ad36)[_0x5105('0x23')](function(_0x51f5ca){_0x512f9b[_0x5105('0x1b')]=_0x51f5ca;if(_0x2a3a54['query'][_0x5105('0x3f')]){_0x3aad45[_0x5105('0x40')]=[{'all':!![]}];}return db[_0x5105('0x2a')]['findAll'](_0x3aad45);})[_0x5105('0x23')](function(_0x8d4b71){_0x512f9b[_0x5105('0x41')]=_0x8d4b71;return _0x512f9b;})[_0x5105('0x23')](respondWithFilteredResult(_0x258e16,_0x3aad45))[_0x5105('0x42')](handleError(_0x258e16,null));};exports[_0x5105('0x43')]=function(_0x58b7d2,_0x2cabca){var _0x4eb7ac={'raw':![],'where':{'id':_0x58b7d2[_0x5105('0x44')]['id']}},_0x303d33={};_0x303d33[_0x5105('0x2f')]=_['keys'](db[_0x5105('0x2a')][_0x5105('0x2b')]);_0x303d33[_0x5105('0x32')]=_[_0x5105('0x33')](_0x58b7d2['query']);_0x303d33['filters']=_[_0x5105('0x45')](_0x303d33[_0x5105('0x2f')],_0x303d33[_0x5105('0x32')]);_0x4eb7ac['attributes']=_[_0x5105('0x45')](_0x303d33[_0x5105('0x2f')],qs[_0x5105('0x35')](_0x58b7d2['query'][_0x5105('0x35')]));_0x4eb7ac[_0x5105('0x34')]=_0x4eb7ac['attributes'][_0x5105('0x46')]?_0x4eb7ac['attributes']:_0x303d33[_0x5105('0x2f')];if(_0x58b7d2[_0x5105('0x32')][_0x5105('0x3f')]){_0x4eb7ac[_0x5105('0x40')]=[{'all':!![]}];}_0x4eb7ac=_[_0x5105('0x3b')]({},_0x4eb7ac,_0x58b7d2[_0x5105('0x3e')]);return db[_0x5105('0x2a')][_0x5105('0x47')](_0x4eb7ac)['then'](handleEntityNotFound(_0x2cabca,null))[_0x5105('0x23')](respondWithResult(_0x2cabca,null))[_0x5105('0x42')](handleError(_0x2cabca,null));};exports[_0x5105('0x48')]=function(_0x53da2c,_0x52b0f7){return db['ScreenRecording'][_0x5105('0x48')](_0x53da2c['body'],{})[_0x5105('0x23')](respondWithResult(_0x52b0f7,0xc9))['catch'](handleError(_0x52b0f7,null));};exports[_0x5105('0x22')]=function(_0x1b07bf,_0x4547aa){if(_0x1b07bf[_0x5105('0x49')]['id']){delete _0x1b07bf['body']['id'];}delete _0x1b07bf[_0x5105('0x49')][_0x5105('0x4a')];delete _0x1b07bf[_0x5105('0x49')][_0x5105('0x4b')];delete _0x1b07bf[_0x5105('0x49')][_0x5105('0x4c')];delete _0x1b07bf[_0x5105('0x49')][_0x5105('0x4d')];return db[_0x5105('0x2a')]['find']({'where':{'id':_0x1b07bf[_0x5105('0x44')]['id']}})[_0x5105('0x23')](handleEntityNotFound(_0x4547aa,null))[_0x5105('0x23')](saveUpdates(_0x1b07bf['body'],null))[_0x5105('0x23')](respondWithResult(_0x4547aa,null))[_0x5105('0x42')](handleError(_0x4547aa,null));};exports['describe']=function(_0x146bae,_0x512da0){return db[_0x5105('0x2a')][_0x5105('0x4e')]()['then'](respondWithResult(_0x512da0,null))[_0x5105('0x42')](handleError(_0x512da0,null));};exports[_0x5105('0x4f')]=function(_0x41eebe,_0x46deb1,_0x5cf99b){var _0x537ab1=require(_0x5105('0x50'));var _0x16ea85=![];var _0xe61314={};if(_0x41eebe[_0x5105('0x32')][_0x5105('0x2d')]&&_0x41eebe[_0x5105('0x32')]['type']===_0x5105('0x51')){_0xe61314[_0x5105('0x51')]=_0x41eebe[_0x5105('0x44')]['id'];}else{_0xe61314['id']=_0x41eebe[_0x5105('0x44')]['id'];}return db[_0x5105('0x2a')][_0x5105('0x47')]({'where':_0xe61314,'attributes':['id',_0x5105('0x4d')],'raw':!![]})[_0x5105('0x23')](handleEntityNotFound(_0x46deb1,null))[_0x5105('0x23')](function(_0x31c2fc){if(_0x31c2fc){var _0x1277ff=path[_0x5105('0x52')](config[_0x5105('0x53')],_0x5105('0x54'),_0x31c2fc['value']);var _0x640851=util['format'](_0x5105('0x55'),_0x1277ff);if(fs[_0x5105('0x56')](_0x640851)){_0x16ea85=!![];return _0x537ab1[_0x5105('0x57')](_0x640851,_0x1277ff,config['secrets']['recording'])['then'](function(){return _0x31c2fc;});}return _0x31c2fc;}})[_0x5105('0x23')](function(_0x7cb893){if(_0x7cb893){var _0x268ac0=path[_0x5105('0x52')](config[_0x5105('0x53')],_0x5105('0x54'),_0x7cb893[_0x5105('0x4d')]);if(!fs[_0x5105('0x56')](_0x268ac0)){throw new db['Sequelize'][(_0x5105('0x58'))](_0x5105('0x59'));}if(_0x7cb893[_0x5105('0x5a')]){return _0x46deb1['download'](_0x268ac0,_0x7cb893[_0x5105('0x5a')]+path[_0x5105('0x5b')](_0x268ac0),function(){if(_0x16ea85){fs[_0x5105('0x5c')](_0x268ac0);}});}else{return _0x46deb1[_0x5105('0x4f')](_0x268ac0,function(_0x22f6dd){if(_0x16ea85){fs[_0x5105('0x5c')](_0x268ac0);}});}}})[_0x5105('0x42')](function(_0x17aa3c){if(_0x17aa3c[_0x5105('0x5d')]===_0x5105('0x59')){_0x46deb1['status'](0x194)[_0x5105('0x5e')]('Not\x20found');}else{return handleError(_0x46deb1,null);}});};exports['destroy']=function(_0x5bb23e,_0x56fe78){return db['ScreenRecording'][_0x5105('0x47')]({'where':{'id':_0x5bb23e[_0x5105('0x44')]['id']}})['then'](function(_0x4fb55a){if(!_0x4fb55a)throw new ReferenceError(_0x5105('0x5f'));return _0x4fb55a;})[_0x5105('0x23')](function(_0x57b495){var _0x2ec46d=path[_0x5105('0x52')](config[_0x5105('0x53')],_0x5105('0x54'),_0x57b495[_0x5105('0x4d')]);logger[_0x5105('0x60')](_0x5105('0x61'),_0x2ec46d);if(!_[_0x5105('0x62')](_0x57b495[_0x5105('0x4d')])&&fs[_0x5105('0x56')](_0x2ec46d)){logger[_0x5105('0x60')](_0x5105('0x63')+_0x2ec46d+_0x5105('0x64'));fs[_0x5105('0x65')](_0x2ec46d);}_0x2ec46d=_0x2ec46d+_0x5105('0x66');if(!_[_0x5105('0x62')](_0x57b495[_0x5105('0x4d')])&&fs['existsSync'](_0x2ec46d)){logger[_0x5105('0x60')]('File:\x20\x22'+_0x2ec46d+_0x5105('0x64'));fs['unlinkSync'](_0x2ec46d);}return _0x57b495;})[_0x5105('0x23')](function(_0x72da30){if(!_0x72da30)throw new InternalError();return _0x72da30[_0x5105('0x24')]();})[_0x5105('0x23')](function(){_0x56fe78[_0x5105('0x19')](0xcc)['end']();})[_0x5105('0x42')](handleError(_0x56fe78,null));};