Built motion from commit (unavailable).|2.4.20
[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 _0x2920=['apply','save','update','then','error','stack','name','send','index','map','fieldName','type','key','model','differenceBy','format','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','rows','catch','show','ScreenRecording','rawAttributes','include','find','create','body','duration','createdAt','closedAt','params','describe','../../components/encryptor','uniqueid','value','join','root','server/files/screen_recordings','%s.cypher','existsSync','recording','Sequelize','ValidationError','ScreenRecording\x20not\x20found','filename','download','extname','unlink','message','Not\x20found','destroy','Entity\x20not\x20found','info','cancellazione\x20fisica\x20documento\x20%s','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','sendStatus','status','end','json','count','offset','set','Content-Range'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x2920,0x120));var _0x0292=function(_0x7d9a13,_0x439149){_0x7d9a13=_0x7d9a13-0x0;var _0x516f0a=_0x2920[_0x7d9a13];return _0x516f0a;};'use strict';var pdf=require(_0x0292('0x0'));var emlformat=require(_0x0292('0x1'));var rimraf=require(_0x0292('0x2'));var zipdir=require(_0x0292('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0292('0x4'));var BPromise=require(_0x0292('0x5'));var Mustache=require(_0x0292('0x6'));var util=require(_0x0292('0x7'));var path=require(_0x0292('0x8'));var sox=require(_0x0292('0x9'));var csv=require('to-csv');var ejs=require(_0x0292('0xa'));var fs=require('fs');var _=require(_0x0292('0xb'));var squel=require(_0x0292('0xc'));var crypto=require(_0x0292('0xd'));var jsforce=require(_0x0292('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x0292('0xf'));var querystring=require('querystring');var Papa=require(_0x0292('0x10'));var Redis=require(_0x0292('0x11'));var authService=require(_0x0292('0x12'));var qs=require(_0x0292('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x0292('0x14'));var utils=require(_0x0292('0x15'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1a2259,_0x28283f){_0x28283f=_0x28283f||0xcc;return function(_0x1058b7){if(_0x1058b7){return _0x1a2259[_0x0292('0x16')](_0x28283f);}return _0x1a2259[_0x0292('0x17')](_0x28283f)[_0x0292('0x18')]();};}function respondWithResult(_0x5c188a,_0xa94cab){_0xa94cab=_0xa94cab||0xc8;return function(_0x3063c4){if(_0x3063c4){return _0x5c188a[_0x0292('0x17')](_0xa94cab)[_0x0292('0x19')](_0x3063c4);}};}function respondWithFilteredResult(_0x2c4a29,_0x3b6f16){return function(_0x33c669){if(_0x33c669){var _0x4ddff2=_0x33c669[_0x0292('0x1a')],_0x1d459a=_0x3b6f16[_0x0292('0x1b')],_0x1cb2aa=_0x3b6f16['offset']+_0x3b6f16['limit'],_0x3e966c;if(_0x1cb2aa>=_0x4ddff2){_0x1cb2aa=_0x4ddff2;_0x3e966c=0xc8;}else{_0x3e966c=0xce;}_0x2c4a29['status'](_0x3e966c);return _0x2c4a29[_0x0292('0x1c')](_0x0292('0x1d'),_0x1d459a+'-'+_0x1cb2aa+'/'+_0x4ddff2)[_0x0292('0x19')](_0x33c669);}return null;};}function patchUpdates(_0x269925){return function(_0x41c5f5){try{jsonpatch[_0x0292('0x1e')](_0x41c5f5,_0x269925,!![]);}catch(_0x3c36de){return BPromise['reject'](_0x3c36de);}return _0x41c5f5[_0x0292('0x1f')]();};}function saveUpdates(_0x2b66bf,_0x125533){return function(_0x59b35c){if(_0x59b35c){return _0x59b35c[_0x0292('0x20')](_0x2b66bf)[_0x0292('0x21')](function(_0xb927af){return _0xb927af;});}return null;};}function removeEntity(_0x3bf07e,_0x45bf62){return function(_0xf1407a){if(_0xf1407a){return _0xf1407a['destroy']()['then'](function(){_0x3bf07e[_0x0292('0x17')](0xcc)[_0x0292('0x18')]();});}};}function handleEntityNotFound(_0x1130f6,_0x2b231d){return function(_0x13e1f1){if(!_0x13e1f1){_0x1130f6[_0x0292('0x16')](0x194);}return _0x13e1f1;};}function handleError(_0x3198cd,_0x50fc34){_0x50fc34=_0x50fc34||0x1f4;return function(_0x5bc091){logger[_0x0292('0x22')](_0x5bc091[_0x0292('0x23')]);if(_0x5bc091[_0x0292('0x24')]){delete _0x5bc091[_0x0292('0x24')];}_0x3198cd[_0x0292('0x17')](_0x50fc34)[_0x0292('0x25')](_0x5bc091);};}exports[_0x0292('0x26')]=function(_0x4a20ad,_0x3b9253){var _0x17a436={},_0x533074={},_0x32e6a6={'count':0x0,'rows':[]};var _0x5f4d38=_[_0x0292('0x27')](db['ScreenRecording']['rawAttributes'],function(_0x2cc657){return{'name':_0x2cc657[_0x0292('0x28')],'type':_0x2cc657[_0x0292('0x29')][_0x0292('0x2a')]};});_0x533074[_0x0292('0x2b')]=_[_0x0292('0x2c')](_[_0x0292('0x27')](_0x5f4d38,_0x0292('0x24')),[_0x0292('0x2d')]);_0x533074['query']=_[_0x0292('0x2e')](_0x4a20ad[_0x0292('0x2f')]);_0x533074[_0x0292('0x30')]=_[_0x0292('0x31')](_0x533074['model'],_0x533074[_0x0292('0x2f')]);_0x17a436[_0x0292('0x32')]=_[_0x0292('0x31')](_0x533074[_0x0292('0x2b')],qs[_0x0292('0x33')](_0x4a20ad[_0x0292('0x2f')]['fields']));_0x17a436[_0x0292('0x32')]=_0x17a436[_0x0292('0x32')][_0x0292('0x34')]?_0x17a436['attributes']:_0x533074[_0x0292('0x2b')];if(!_0x4a20ad[_0x0292('0x2f')][_0x0292('0x35')](_0x0292('0x36'))){_0x17a436[_0x0292('0x37')]=qs['limit'](_0x4a20ad[_0x0292('0x2f')][_0x0292('0x37')]);_0x17a436[_0x0292('0x1b')]=qs[_0x0292('0x1b')](_0x4a20ad[_0x0292('0x2f')][_0x0292('0x1b')]);}_0x17a436[_0x0292('0x38')]=qs[_0x0292('0x39')](_0x4a20ad['query']['sort']);_0x17a436['where']=qs[_0x0292('0x30')](_[_0x0292('0x3a')](_0x4a20ad['query'],_0x533074[_0x0292('0x30')]));if(_0x4a20ad[_0x0292('0x2f')]['filter']){_0x17a436[_0x0292('0x3b')]=_[_0x0292('0x3c')](_0x17a436['where'],{'$or':_[_0x0292('0x27')](_0x5f4d38,function(_0x305660){if(_0x305660[_0x0292('0x29')]!==_0x0292('0x3d')){var _0x64b168={};_0x64b168[_0x305660['name']]={'$like':'%'+_0x4a20ad[_0x0292('0x2f')][_0x0292('0x3e')]+'%'};return _0x64b168;}})});}_0x17a436=_['merge']({},_0x17a436,_0x4a20ad[_0x0292('0x3f')]);var _0x268239={'where':_0x17a436[_0x0292('0x3b')]};return db['ScreenRecording'][_0x0292('0x1a')](_0x268239)[_0x0292('0x21')](function(_0x319a79){_0x32e6a6[_0x0292('0x1a')]=_0x319a79;if(_0x4a20ad[_0x0292('0x2f')][_0x0292('0x40')]){_0x17a436['include']=[{'all':!![]}];}return db['ScreenRecording']['findAll'](_0x17a436);})['then'](function(_0x2d883a){_0x32e6a6[_0x0292('0x41')]=_0x2d883a;return _0x32e6a6;})['then'](respondWithFilteredResult(_0x3b9253,_0x17a436))[_0x0292('0x42')](handleError(_0x3b9253,null));};exports[_0x0292('0x43')]=function(_0x573eaa,_0x3b428d){var _0xe1c88={'raw':![],'where':{'id':_0x573eaa['params']['id']}},_0x178873={};_0x178873[_0x0292('0x2b')]=_[_0x0292('0x2e')](db[_0x0292('0x44')][_0x0292('0x45')]);_0x178873[_0x0292('0x2f')]=_[_0x0292('0x2e')](_0x573eaa[_0x0292('0x2f')]);_0x178873['filters']=_[_0x0292('0x31')](_0x178873[_0x0292('0x2b')],_0x178873['query']);_0xe1c88[_0x0292('0x32')]=_['intersection'](_0x178873[_0x0292('0x2b')],qs[_0x0292('0x33')](_0x573eaa[_0x0292('0x2f')]['fields']));_0xe1c88[_0x0292('0x32')]=_0xe1c88[_0x0292('0x32')][_0x0292('0x34')]?_0xe1c88[_0x0292('0x32')]:_0x178873['model'];if(_0x573eaa['query'][_0x0292('0x40')]){_0xe1c88[_0x0292('0x46')]=[{'all':!![]}];}_0xe1c88=_[_0x0292('0x3c')]({},_0xe1c88,_0x573eaa['options']);return db[_0x0292('0x44')][_0x0292('0x47')](_0xe1c88)[_0x0292('0x21')](handleEntityNotFound(_0x3b428d,null))[_0x0292('0x21')](respondWithResult(_0x3b428d,null))['catch'](handleError(_0x3b428d,null));};exports[_0x0292('0x48')]=function(_0x203e47,_0xbabac9){return db[_0x0292('0x44')]['create'](_0x203e47[_0x0292('0x49')],{})[_0x0292('0x21')](respondWithResult(_0xbabac9,0xc9))[_0x0292('0x42')](handleError(_0xbabac9,null));};exports[_0x0292('0x20')]=function(_0x5296c7,_0x29f0cb){if(_0x5296c7[_0x0292('0x49')]['id']){delete _0x5296c7[_0x0292('0x49')]['id'];}delete _0x5296c7[_0x0292('0x49')][_0x0292('0x4a')];delete _0x5296c7[_0x0292('0x49')][_0x0292('0x4b')];delete _0x5296c7[_0x0292('0x49')][_0x0292('0x4c')];delete _0x5296c7[_0x0292('0x49')]['value'];return db[_0x0292('0x44')][_0x0292('0x47')]({'where':{'id':_0x5296c7[_0x0292('0x4d')]['id']}})[_0x0292('0x21')](handleEntityNotFound(_0x29f0cb,null))[_0x0292('0x21')](saveUpdates(_0x5296c7[_0x0292('0x49')],null))['then'](respondWithResult(_0x29f0cb,null))[_0x0292('0x42')](handleError(_0x29f0cb,null));};exports[_0x0292('0x4e')]=function(_0x1e44f4,_0x484573){return db[_0x0292('0x44')][_0x0292('0x4e')]()['then'](respondWithResult(_0x484573,null))[_0x0292('0x42')](handleError(_0x484573,null));};exports['download']=function(_0x171ff3,_0x2f1065,_0x1ea1b7){var _0xeddde5=require(_0x0292('0x4f'));var _0x140f17=![];var _0x1a269a={};if(_0x171ff3[_0x0292('0x2f')][_0x0292('0x29')]&&_0x171ff3[_0x0292('0x2f')][_0x0292('0x29')]===_0x0292('0x50')){_0x1a269a[_0x0292('0x50')]=_0x171ff3['params']['id'];}else{_0x1a269a['id']=_0x171ff3[_0x0292('0x4d')]['id'];}return db['ScreenRecording'][_0x0292('0x47')]({'where':_0x1a269a,'attributes':['id',_0x0292('0x51')],'raw':!![]})[_0x0292('0x21')](handleEntityNotFound(_0x2f1065,null))[_0x0292('0x21')](function(_0x219949){if(_0x219949){var _0x26a258=path[_0x0292('0x52')](config[_0x0292('0x53')],_0x0292('0x54'),_0x219949['value']);var _0x3f2e26=util[_0x0292('0x2d')](_0x0292('0x55'),_0x26a258);if(fs[_0x0292('0x56')](_0x3f2e26)){_0x140f17=!![];return _0xeddde5['decryptFile'](_0x3f2e26,_0x26a258,config['secrets'][_0x0292('0x57')])[_0x0292('0x21')](function(){return _0x219949;});}return _0x219949;}})[_0x0292('0x21')](function(_0x2d966f){if(_0x2d966f){var _0x25a1f6=path[_0x0292('0x52')](config[_0x0292('0x53')],_0x0292('0x54'),_0x2d966f[_0x0292('0x51')]);if(!fs[_0x0292('0x56')](_0x25a1f6)){throw new db[(_0x0292('0x58'))][(_0x0292('0x59'))](_0x0292('0x5a'));}if(_0x2d966f[_0x0292('0x5b')]){return _0x2f1065[_0x0292('0x5c')](_0x25a1f6,_0x2d966f[_0x0292('0x5b')]+path[_0x0292('0x5d')](_0x25a1f6),function(){if(_0x140f17){fs[_0x0292('0x5e')](_0x25a1f6);}});}else{return _0x2f1065[_0x0292('0x5c')](_0x25a1f6,function(_0x4375c8){if(_0x140f17){fs[_0x0292('0x5e')](_0x25a1f6);}});}}})[_0x0292('0x42')](function(_0x2b1e52){if(_0x2b1e52[_0x0292('0x5f')]===_0x0292('0x5a')){_0x2f1065[_0x0292('0x17')](0x194)[_0x0292('0x25')](_0x0292('0x60'));}else{return handleError(_0x2f1065,null);}});};exports[_0x0292('0x61')]=function(_0x38deb3,_0x54a386){return db[_0x0292('0x44')][_0x0292('0x47')]({'where':{'id':_0x38deb3[_0x0292('0x4d')]['id']}})[_0x0292('0x21')](function(_0x48d2c7){if(!_0x48d2c7)throw new ReferenceError(_0x0292('0x62'));return _0x48d2c7;})[_0x0292('0x21')](function(_0x14abb2){var _0x37f41e=path[_0x0292('0x52')](config[_0x0292('0x53')],_0x0292('0x54'),_0x14abb2[_0x0292('0x51')]);logger[_0x0292('0x63')](_0x0292('0x64'),_0x37f41e);if(!_[_0x0292('0x65')](_0x14abb2[_0x0292('0x51')])&&fs[_0x0292('0x56')](_0x37f41e)){logger[_0x0292('0x63')](_0x0292('0x66')+_0x37f41e+_0x0292('0x67'));fs[_0x0292('0x68')](_0x37f41e);}_0x37f41e=_0x37f41e+_0x0292('0x69');if(!_[_0x0292('0x65')](_0x14abb2[_0x0292('0x51')])&&fs['existsSync'](_0x37f41e)){logger[_0x0292('0x63')](_0x0292('0x66')+_0x37f41e+'\x22\x20trovato\x20eseguo\x20la\x20cancellazione');fs[_0x0292('0x68')](_0x37f41e);}return _0x14abb2;})[_0x0292('0x21')](function(_0x507876){if(!_0x507876)throw new InternalError();return _0x507876[_0x0292('0x61')]();})[_0x0292('0x21')](function(){_0x54a386[_0x0292('0x17')](0xcc)[_0x0292('0x18')]();})[_0x0292('0x42')](handleError(_0x54a386,null));};