Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / config / schedule / index.js
index 894a993..669c62b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x3421=['subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','DefaultReportId','exec\x20defaul\x20report\x20id:%s','runReport','exec\x20custom\x20report\x20id:%s','CustomReportId','Schedule','findAll','MailServerOut','CloudProvider','keys','jobs','map','toString','keyBy','intersection','length','exists','deleteJob','delete\x20cron','toRun','run\x20job','cron','active','startAt','add','add\x20cron','stop\x20cron','isBetween','endAt','update','update\x20cron','run','start','util','path','moment','cron-job-manager','bluebird','../../mysqldb','retry','../../api/analyticCustomReport/analyticCustomReport.controller','client','http','AnalyticExtractedReport','findOne','then','catch','info','email','MailAccount','getSmtpOptions','format','\x22%s\x22\x20<%s>','Smtp','user','bcc','Report\x20%s\x20last\x20%s\x20%s','name','subtractNumber','join','../../files/reports','savename','basename','zip','existsSync','status','message','attachments','stringify','Sent','Empty','text','sendIfEmpty','empty\x20file,\x20email\x20not\x20sent','Loading','Report\x20still\x20running\x20after\x20timeout.\x0aYou\x20can\x20find\x20the\x20report\x20when\x20it\x20will\x20be\x20completed\x20in\x20Analytics\x20->\x20Extracted\x20Reports.\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','Completed','Report\x20file\x20creation\x20still\x20running\x20after\x20timeout.\x0aYou\x20can\x20find\x20the\x20report\x20when\x20it\x20will\x20be\x20completed\x20in\x20Analytics\x20->\x20Extracted\x20Reports.\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','Failed','Report\x20extraction\x20procedure\x20has\x20run\x20into\x20an\x20unexpected\x20error.\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','error','[handleSendEmail]\x20Unrecognized\x20status:','request','SendMail','error\x20mail','email\x20sent','case\x20loading','currentAttempt','retryOptions','retries','job','operation','stop','still\x20loading','case\x20completed','case\x20empty','data','case\x20failed','Unrecognized\x20status:','entity','dataValues','attempt','Job\x20ID\x20','\x20Attempt\x20#:','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit'];(function(_0x22b68a,_0x2bffc3){var _0x1ac67a=function(_0x25f9d5){while(--_0x25f9d5){_0x22b68a['push'](_0x22b68a['shift']());}};_0x1ac67a(++_0x2bffc3);}(_0x3421,0x100));var _0x1342=function(_0x2ce098,_0x228fa8){_0x2ce098=_0x2ce098-0x0;var _0x54ad56=_0x3421[_0x2ce098];return _0x54ad56;};'use strict';var fs=require('fs');var util=require(_0x1342('0x0'));var path=require(_0x1342('0x1'));var _=require('lodash');var moment=require(_0x1342('0x2'));var CronJobManager=require(_0x1342('0x3'));var jayson=require('jayson/promise');var BPromise=require(_0x1342('0x4'));var logger=require('../logger')('schedule');var db=require(_0x1342('0x5'))['db'];const retry=require(_0x1342('0x6'));var analyticCustomReportController=require(_0x1342('0x7'));var analyticDefaultReportController=require('../../api/analyticDefaultReport/analyticDefaultReport.controller');var client=jayson[_0x1342('0x8')][_0x1342('0x9')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x80eb2b){const _0x42f890={};if(typeof _0x80eb2b==='number'){_0x42f890['id']=_0x80eb2b;}return db[_0x1342('0xa')][_0x1342('0xb')]({'where':_0x42f890})[_0x1342('0xc')](function(_0x22b3e8){return _0x22b3e8;})[_0x1342('0xd')](function(_0x18d728){logger['error'](_0x18d728);});}function handleSendEmail(_0x590ff3,_0x12a0d3){logger[_0x1342('0xe')]('Try\x20to\x20send\x20a\x20mail\x20to',_0x590ff3[_0x1342('0xf')]);var _0x5aa9de=!![];var _0x48b103=_0x590ff3[_0x1342('0x10')][_0x1342('0x11')]();var _0x54751e={'account':_0x48b103,'message':{'from':util[_0x1342('0x12')](_0x1342('0x13'),_0x590ff3[_0x1342('0x10')]['name'],_0x590ff3['MailAccount']['email']||_0x590ff3[_0x1342('0x10')][_0x1342('0x14')][_0x1342('0x15')]),'to':_0x590ff3[_0x1342('0xf')],'cc':_0x590ff3['cc'],'bcc':_0x590ff3[_0x1342('0x16')],'subject':util[_0x1342('0x12')](_0x1342('0x17'),_0x12a0d3[_0x1342('0x18')],_0x590ff3[_0x1342('0x19')],_0x590ff3['subtractUnit'])}};var _0x32eb19=path[_0x1342('0x1a')](__dirname,_0x1342('0x1b'));var _0x4cb7f7=_0x12a0d3[_0x1342('0x1c')];var _0x26170d=util['format']('%s.%s',path[_0x1342('0x1d')](_0x12a0d3['savename'],path['extname'](_0x12a0d3['savename'])),_0x1342('0x1e'));var _0x12b980=path[_0x1342('0x1a')](_0x32eb19,_0x4cb7f7);var _0x4a819d=path[_0x1342('0x1a')](_0x32eb19,_0x26170d);if(fs[_0x1342('0x1f')](_0x12b980)){_0x12a0d3[_0x1342('0x20')]='Sent';_0x54751e[_0x1342('0x21')][_0x1342('0x22')]=[{'filename':_0x4cb7f7,'path':_0x12b980}];_0x54751e[_0x1342('0x21')]['text']=util['format']('Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a',JSON[_0x1342('0x23')](_0x12a0d3,null,0x2));}else if(fs['existsSync'](_0x4a819d)){_0x12a0d3[_0x1342('0x20')]=_0x1342('0x24');_0x54751e['message'][_0x1342('0x22')]=[{'filename':_0x26170d,'path':_0x4a819d}];}else{if(_0x12a0d3[_0x1342('0x20')]===_0x1342('0x25')){_0x54751e['message'][_0x1342('0x26')]='Report\x20empty\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a';if(!_0x590ff3[_0x1342('0x27')]){_0x5aa9de=![];logger['info'](_0x1342('0x28'));}}else if(_0x12a0d3['status']===_0x1342('0x29')){_0x54751e[_0x1342('0x21')][_0x1342('0x26')]=_0x1342('0x2a');}else if(_0x12a0d3['status']===_0x1342('0x2b')){_0x54751e[_0x1342('0x21')][_0x1342('0x26')]=_0x1342('0x2c');}else if(_0x12a0d3['status']===_0x1342('0x2d')){_0x54751e[_0x1342('0x21')][_0x1342('0x26')]=_0x1342('0x2e');}else{logger[_0x1342('0x2f')](_0x1342('0x30'),_0x12a0d3[_0x1342('0x20')]);}}if(_0x5aa9de){return client[_0x1342('0x31')](_0x1342('0x32'),_0x54751e)[_0x1342('0xc')](function(_0x4ab223){if(_0x4ab223[_0x1342('0x2f')]){return logger[_0x1342('0x2f')](_0x1342('0x33'),JSON[_0x1342('0x23')](_0x4ab223));}return logger['info'](_0x1342('0x34'));})['catch'](function(_0x44477a){return logger['error']('error\x20mail',JSON[_0x1342('0x23')](_0x44477a));});}}function handleError(){return function(_0x231cf8){return logger['error'](JSON[_0x1342('0x23')](_0x231cf8));};}function loading(_0x1558b7){logger[_0x1342('0xe')](_0x1342('0x35'));if(_0x1558b7[_0x1342('0x36')]===_0x1558b7[_0x1342('0x37')][_0x1342('0x38')]){handleSendEmail(_0x1558b7[_0x1342('0x39')],_0x1558b7['data']);_0x1558b7[_0x1342('0x3a')][_0x1342('0x3b')]();}else{_0x1558b7[_0x1342('0x3a')][_0x1342('0x6')](_0x1342('0x3c'));}}function completed(_0x94be){logger[_0x1342('0xe')](_0x1342('0x3d'));handleSendEmail(_0x94be['job'],_0x94be['data']);_0x94be[_0x1342('0x3a')][_0x1342('0x3b')]();}function empty(_0x344055){logger[_0x1342('0xe')](_0x1342('0x3e'));handleSendEmail(_0x344055[_0x1342('0x39')],_0x344055[_0x1342('0x3f')]);_0x344055[_0x1342('0x3a')][_0x1342('0x3b')]();}function failed(_0x44566f){logger[_0x1342('0xe')](_0x1342('0x40'));handleSendEmail(_0x44566f[_0x1342('0x39')],_0x44566f['data']);_0x44566f[_0x1342('0x3a')]['stop']();}function urecognized(_0x4e6bc3){logger[_0x1342('0x2f')](_0x1342('0x41'),_0x4e6bc3[_0x1342('0x42')][_0x1342('0x43')][_0x1342('0x20')]);_0x4e6bc3['operation'][_0x1342('0x3b')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x3e16d7,_0xc8a9ce){const _0x299f43={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0xcb0d0d=retry[_0x1342('0x3a')](_0x299f43);_0xcb0d0d[_0x1342('0x44')](_0x33b036=>{logger[_0x1342('0xe')](_0x1342('0x45')+_0x3e16d7['id']+_0x1342('0x46')+_0x33b036);try{getReportData(_0xc8a9ce['id'])[_0x1342('0xc')](function(_0x22d121){_0xc8a9ce=_0x22d121;logger[_0x1342('0xe')]('report\x20status:',_0x22d121[_0x1342('0x43')]['status']);if(!reportStatusStrategies[_0x22d121[_0x1342('0x43')]['status']]){logger[_0x1342('0x2f')]('report\x20status:',_0x22d121['dataValues'][_0x1342('0x20')]);_0xcb0d0d[_0x1342('0x6')]();}reportStatusStrategies[_0x22d121[_0x1342('0x43')]['status']]({'operation':_0xcb0d0d,'currentAttempt':_0x33b036,'retryOptions':_0x299f43,'job':_0x3e16d7,'data':_0xc8a9ce,'entity':_0x22d121});});}catch(_0x15adf1){_0xcb0d0d[_0x1342('0x6')](_0x15adf1);}});}function handleResult(_0x5ba94e){return function(_0x602cd){if(_0x5ba94e['sendMail']&&_0x5ba94e[_0x1342('0x10')]&&_0x5ba94e[_0x1342('0x10')][_0x1342('0x14')]&&!_[_0x1342('0x47')](_0x5ba94e['email'])){retryer(_0x5ba94e,_0x602cd);}};}function handleJob(_0x34a1a1){return function(){try{if(_[_0x1342('0x47')](_0x34a1a1[_0x1342('0x19')])){return logger[_0x1342('0xe')](_0x1342('0x48'));}if(_[_0x1342('0x47')](_0x34a1a1[_0x1342('0x49')])){return logger[_0x1342('0xe')](_0x1342('0x4a'));}var _0x13114a={'startDate':moment()[_0x1342('0x4b')](_0x34a1a1[_0x1342('0x19')],_0x34a1a1[_0x1342('0x49')])[_0x1342('0x12')]('YYYY-MM-DD\x20HH:mm:ss'),'endDate':moment()[_0x1342('0x12')](_0x1342('0x4c')),'type':'scheduled','output':_0x34a1a1['output'],'name':_0x34a1a1[_0x1342('0x18')]};if(!_[_0x1342('0x47')](_0x34a1a1[_0x1342('0x4d')])){logger[_0x1342('0xe')](_0x1342('0x4e'),_0x34a1a1[_0x1342('0x4d')]);return analyticDefaultReportController[_0x1342('0x4f')]({'id':_0x34a1a1['DefaultReportId']},_0x13114a)[_0x1342('0xc')](handleResult(_0x34a1a1))['catch'](handleError());}if(!_[_0x1342('0x47')](_0x34a1a1['CustomReportId'])){logger['info'](_0x1342('0x50'),_0x34a1a1[_0x1342('0x51')]);return analyticCustomReportController[_0x1342('0x4f')]({'id':_0x34a1a1['CustomReportId']},_0x13114a)[_0x1342('0xc')](handleResult(_0x34a1a1))[_0x1342('0xd')](handleError());}}catch(_0xe8c31e){logger[_0x1342('0x2f')](JSON[_0x1342('0x23')](_0xe8c31e));}return logger[_0x1342('0xe')]('no\x20report\x20id');};}function getJobs(_0x27552b){var _0x4b017c={};if(_0x27552b){_0x4b017c['id']=_0x27552b;}return db[_0x1342('0x52')][_0x1342('0x53')]({'where':_0x4b017c,'include':[{'model':db[_0x1342('0x10')],'attributes':['id',_0x1342('0x18'),'email'],'include':[{'model':db[_0x1342('0x54')],'as':_0x1342('0x14'),'include':[{'model':db['CloudProvider'],'as':_0x1342('0x55')}]}]}]})[_0x1342('0xc')](function(_0x210d28){var _0x469ed8=_[_0x1342('0x56')](manager[_0x1342('0x57')]);var _0x357baf=_[_0x1342('0x58')](_0x210d28,function(_0xd705b5){return _0xd705b5['id'][_0x1342('0x59')]();});var _0x2c591d=_[_0x1342('0x5a')](_0x210d28,function(_0x44af48){return _0x44af48['id'][_0x1342('0x59')]();});var _0x3abfae=_0x27552b?_0x357baf:_['difference'](_0x357baf,_0x469ed8);var _0x535caf=_[_0x1342('0x5b')](_0x357baf,_0x469ed8);var _0x2cec99=_['difference'](_0x469ed8,_0x357baf);var _0x4fdcc7;var _0x4471a6;for(_0x4fdcc7=0x0;_0x4fdcc7<_0x2cec99[_0x1342('0x5c')]&&!_0x27552b;_0x4fdcc7+=0x1){_0x4471a6=_0x2cec99[_0x4fdcc7][_0x1342('0x59')]();if(manager[_0x1342('0x5d')](_0x4471a6)){manager[_0x1342('0x3b')](_0x4471a6);manager[_0x1342('0x5e')](_0x4471a6);logger[_0x1342('0xe')](_0x1342('0x5f'),_0x4471a6);}}logger[_0x1342('0xe')](_0x1342('0x60'),JSON['stringify'](_0x3abfae));for(_0x4fdcc7=0x0;_0x4fdcc7<_0x3abfae[_0x1342('0x5c')];_0x4fdcc7+=0x1){_0x4471a6=_0x3abfae[_0x4fdcc7][_0x1342('0x59')]();if(_0x27552b){logger[_0x1342('0xe')](JSON[_0x1342('0x23')](_0x2c591d[_0x4471a6]));BPromise['resolve']()['then'](handleJob(_0x2c591d[_0x4471a6]));logger[_0x1342('0xe')](_0x1342('0x61'),_0x2c591d[_0x4471a6][_0x1342('0x18')],_0x2c591d[_0x4471a6][_0x1342('0x62')]);}else if(_0x2c591d[_0x4471a6][_0x1342('0x62')]&&_0x2c591d[_0x4471a6][_0x1342('0x63')]&&moment()['isBetween'](_0x2c591d[_0x4471a6][_0x1342('0x64')],_0x2c591d[_0x4471a6]['endAt'])){manager[_0x1342('0x65')](_0x4471a6,_0x2c591d[_0x4471a6][_0x1342('0x62')],handleJob(_0x2c591d[_0x4471a6]));manager['start'](_0x4471a6);logger[_0x1342('0xe')](_0x1342('0x66'),_0x2c591d[_0x4471a6][_0x1342('0x18')],_0x2c591d[_0x4471a6][_0x1342('0x62')]);}else if(manager[_0x1342('0x5d')](_0x4471a6)){manager[_0x1342('0x3b')](_0x4471a6);manager[_0x1342('0x5e')](_0x4471a6);logger[_0x1342('0xe')](_0x1342('0x67'),_0x2c591d[_0x4471a6]['name'],_0x2c591d[_0x4471a6]['cron']);}}for(_0x4fdcc7=0x0,_0x4471a6;_0x4fdcc7<_0x535caf[_0x1342('0x5c')]&&!_0x27552b;_0x4fdcc7+=0x1){_0x4471a6=_0x535caf[_0x4fdcc7][_0x1342('0x59')]();if(manager[_0x1342('0x5d')](_0x4471a6)){if(_0x2c591d[_0x4471a6][_0x1342('0x62')]&&_0x2c591d[_0x4471a6][_0x1342('0x63')]&&moment()[_0x1342('0x68')](_0x2c591d[_0x4471a6][_0x1342('0x64')],_0x2c591d[_0x4471a6][_0x1342('0x69')])){manager[_0x1342('0x6a')](_0x4471a6,_0x2c591d[_0x4471a6]['cron'],handleJob(_0x2c591d[_0x4471a6]));logger[_0x1342('0xe')](_0x1342('0x6b'),_0x2c591d[_0x4471a6]['name'],_0x2c591d[_0x4471a6][_0x1342('0x62')]);}else{manager[_0x1342('0x3b')](_0x4471a6);manager[_0x1342('0x5e')](_0x4471a6);logger[_0x1342('0xe')](_0x1342('0x67'),_0x2c591d[_0x4471a6][_0x1342('0x18')],_0x2c591d[_0x4471a6][_0x1342('0x62')]);}}}})[_0x1342('0xd')](function(_0x451cd2){logger[_0x1342('0x2f')](JSON['stringify'](_0x451cd2));});}exports[_0x1342('0x6c')]=function(_0x7f0b0c){return getJobs(_0x7f0b0c);};exports[_0x1342('0x6d')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+var _0xe0d5=['CustomReportId','exec\x20custom\x20report\x20id:%s','no\x20report\x20id','Schedule','findAll','MailServerOut','keys','jobs','map','toString','keyBy','difference','intersection','exists','delete\x20cron','toRun','length','resolve','run\x20job','active','startAt','add','add\x20cron','cron','deleteJob','isBetween','endAt','update','update\x20cron','stop\x20cron','run','start','path','lodash','moment','cron-job-manager','jayson/promise','../logger','../../mysqldb','../../api/analyticDefaultReport/analyticDefaultReport.controller','client','http','AnalyticExtractedReport','findOne','then','error','info','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','getSmtpOptions','\x22%s\x22\x20<%s>','Smtp','bcc','format','name','subtractNumber','subtractUnit','join','../../files/reports','savename','%s.%s','basename','extname','zip','status','message','attachments','text','stringify','existsSync','Sent','Empty','Report\x20empty\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','sendIfEmpty','empty\x20file,\x20email\x20not\x20sent','Loading','Report\x20still\x20running\x20after\x20timeout.\x0aYou\x20can\x20find\x20the\x20report\x20when\x20it\x20will\x20be\x20completed\x20in\x20Analytics\x20->\x20Extracted\x20Reports.\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','Completed','[handleSendEmail]\x20Unrecognized\x20status:','error\x20mail','email\x20sent','catch','currentAttempt','retryOptions','retries','job','data','operation','retry','still\x20loading','case\x20empty','stop','case\x20failed','Unrecognized\x20status:','entity','attempt','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','dataValues','sendMail','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','output','DefaultReportId','exec\x20defaul\x20report\x20id:%s','runReport'];(function(_0x2d0b66,_0x43cc5e){var _0x21b7f5=function(_0x183e13){while(--_0x183e13){_0x2d0b66['push'](_0x2d0b66['shift']());}};_0x21b7f5(++_0x43cc5e);}(_0xe0d5,0xfe));var _0x5e0d=function(_0x3fce6c,_0x5c5440){_0x3fce6c=_0x3fce6c-0x0;var _0x229d62=_0xe0d5[_0x3fce6c];return _0x229d62;};'use strict';var fs=require('fs');var util=require('util');var path=require(_0x5e0d('0x0'));var _=require(_0x5e0d('0x1'));var moment=require(_0x5e0d('0x2'));var CronJobManager=require(_0x5e0d('0x3'));var jayson=require(_0x5e0d('0x4'));var BPromise=require('bluebird');var logger=require(_0x5e0d('0x5'))('schedule');var db=require(_0x5e0d('0x6'))['db'];const retry=require('retry');var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require(_0x5e0d('0x7'));var client=jayson[_0x5e0d('0x8')][_0x5e0d('0x9')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x579d1d){const _0x5bceb8={};if(typeof _0x579d1d==='number'){_0x5bceb8['id']=_0x579d1d;}return db[_0x5e0d('0xa')][_0x5e0d('0xb')]({'where':_0x5bceb8})[_0x5e0d('0xc')](function(_0x352ba8){return _0x352ba8;})['catch'](function(_0x214258){logger[_0x5e0d('0xd')](_0x214258);});}function handleSendEmail(_0x5655c0,_0x5d5e8c){logger[_0x5e0d('0xe')](_0x5e0d('0xf'),_0x5655c0[_0x5e0d('0x10')]);var _0x43f42c=!![];var _0x16e11a=_0x5655c0[_0x5e0d('0x11')][_0x5e0d('0x12')]();var _0x4ef682={'account':_0x16e11a,'message':{'from':util['format'](_0x5e0d('0x13'),_0x5655c0[_0x5e0d('0x11')]['name'],_0x5655c0[_0x5e0d('0x11')]['email']||_0x5655c0['MailAccount'][_0x5e0d('0x14')]['user']),'to':_0x5655c0[_0x5e0d('0x10')],'cc':_0x5655c0['cc'],'bcc':_0x5655c0[_0x5e0d('0x15')],'subject':util[_0x5e0d('0x16')]('Report\x20%s\x20last\x20%s\x20%s',_0x5d5e8c[_0x5e0d('0x17')],_0x5655c0[_0x5e0d('0x18')],_0x5655c0[_0x5e0d('0x19')])}};var _0xc840ce=path[_0x5e0d('0x1a')](__dirname,_0x5e0d('0x1b'));var _0x488731=_0x5d5e8c[_0x5e0d('0x1c')];var _0x458bf6=util['format'](_0x5e0d('0x1d'),path[_0x5e0d('0x1e')](_0x5d5e8c[_0x5e0d('0x1c')],path[_0x5e0d('0x1f')](_0x5d5e8c[_0x5e0d('0x1c')])),_0x5e0d('0x20'));var _0x1b0e72=path[_0x5e0d('0x1a')](_0xc840ce,_0x488731);var _0x4a5c1b=path[_0x5e0d('0x1a')](_0xc840ce,_0x458bf6);if(fs['existsSync'](_0x1b0e72)){_0x5d5e8c[_0x5e0d('0x21')]='Sent';_0x4ef682[_0x5e0d('0x22')][_0x5e0d('0x23')]=[{'filename':_0x488731,'path':_0x1b0e72}];_0x4ef682[_0x5e0d('0x22')][_0x5e0d('0x24')]=util[_0x5e0d('0x16')]('Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a',JSON[_0x5e0d('0x25')](_0x5d5e8c,null,0x2));}else if(fs[_0x5e0d('0x26')](_0x4a5c1b)){_0x5d5e8c[_0x5e0d('0x21')]=_0x5e0d('0x27');_0x4ef682[_0x5e0d('0x22')]['attachments']=[{'filename':_0x458bf6,'path':_0x4a5c1b}];}else{if(_0x5d5e8c['status']===_0x5e0d('0x28')){_0x4ef682[_0x5e0d('0x22')][_0x5e0d('0x24')]=_0x5e0d('0x29');if(!_0x5655c0[_0x5e0d('0x2a')]){_0x43f42c=![];logger[_0x5e0d('0xe')](_0x5e0d('0x2b'));}}else if(_0x5d5e8c[_0x5e0d('0x21')]===_0x5e0d('0x2c')){_0x4ef682[_0x5e0d('0x22')][_0x5e0d('0x24')]=_0x5e0d('0x2d');}else if(_0x5d5e8c['status']===_0x5e0d('0x2e')){_0x4ef682[_0x5e0d('0x22')][_0x5e0d('0x24')]='Report\x20file\x20creation\x20still\x20running\x20after\x20timeout.\x0aYou\x20can\x20find\x20the\x20report\x20when\x20it\x20will\x20be\x20completed\x20in\x20Analytics\x20->\x20Extracted\x20Reports.\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a';}else if(_0x5d5e8c['status']==='Failed'){_0x4ef682[_0x5e0d('0x22')]['text']='Report\x20extraction\x20procedure\x20has\x20run\x20into\x20an\x20unexpected\x20error.\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a';}else{logger[_0x5e0d('0xd')](_0x5e0d('0x2f'),_0x5d5e8c[_0x5e0d('0x21')]);}}if(_0x43f42c){return client['request']('SendMail',_0x4ef682)[_0x5e0d('0xc')](function(_0x677ee9){if(_0x677ee9['error']){return logger[_0x5e0d('0xd')](_0x5e0d('0x30'),JSON[_0x5e0d('0x25')](_0x677ee9));}return logger[_0x5e0d('0xe')](_0x5e0d('0x31'));})[_0x5e0d('0x32')](function(_0x3fac58){return logger[_0x5e0d('0xd')](_0x5e0d('0x30'),JSON[_0x5e0d('0x25')](_0x3fac58));});}}function handleError(){return function(_0x4d4d8d){return logger[_0x5e0d('0xd')](JSON['stringify'](_0x4d4d8d));};}function loading(_0x3107aa){logger[_0x5e0d('0xe')]('case\x20loading');if(_0x3107aa[_0x5e0d('0x33')]===_0x3107aa[_0x5e0d('0x34')][_0x5e0d('0x35')]){handleSendEmail(_0x3107aa[_0x5e0d('0x36')],_0x3107aa[_0x5e0d('0x37')]);_0x3107aa[_0x5e0d('0x38')]['stop']();}else{_0x3107aa[_0x5e0d('0x38')][_0x5e0d('0x39')](_0x5e0d('0x3a'));}}function completed(_0x158453){logger['info']('case\x20completed');handleSendEmail(_0x158453['job'],_0x158453[_0x5e0d('0x37')]);_0x158453[_0x5e0d('0x38')]['stop']();}function empty(_0x3a731c){logger['info'](_0x5e0d('0x3b'));handleSendEmail(_0x3a731c[_0x5e0d('0x36')],_0x3a731c[_0x5e0d('0x37')]);_0x3a731c[_0x5e0d('0x38')][_0x5e0d('0x3c')]();}function failed(_0x249769){logger[_0x5e0d('0xe')](_0x5e0d('0x3d'));handleSendEmail(_0x249769['job'],_0x249769[_0x5e0d('0x37')]);_0x249769[_0x5e0d('0x38')][_0x5e0d('0x3c')]();}function urecognized(_0x47d489){logger[_0x5e0d('0xd')](_0x5e0d('0x3e'),_0x47d489[_0x5e0d('0x3f')]['dataValues'][_0x5e0d('0x21')]);_0x47d489[_0x5e0d('0x38')][_0x5e0d('0x3c')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x1f14b2,_0xebbb9e){const _0x4cbcd9={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x4aca66=retry['operation'](_0x4cbcd9);_0x4aca66[_0x5e0d('0x40')](_0x57fb25=>{logger[_0x5e0d('0xe')](_0x5e0d('0x41')+_0x1f14b2['id']+_0x5e0d('0x42')+_0x57fb25);try{getReportData(_0xebbb9e['id'])[_0x5e0d('0xc')](function(_0x4114fc){_0xebbb9e=_0x4114fc;logger[_0x5e0d('0xe')](_0x5e0d('0x43'),_0x4114fc['dataValues'][_0x5e0d('0x21')]);if(!reportStatusStrategies[_0x4114fc[_0x5e0d('0x44')]['status']]){logger['error'](_0x5e0d('0x43'),_0x4114fc[_0x5e0d('0x44')]['status']);_0x4aca66['retry']();}reportStatusStrategies[_0x4114fc[_0x5e0d('0x44')][_0x5e0d('0x21')]]({'operation':_0x4aca66,'currentAttempt':_0x57fb25,'retryOptions':_0x4cbcd9,'job':_0x1f14b2,'data':_0xebbb9e,'entity':_0x4114fc});});}catch(_0x593c08){_0x4aca66[_0x5e0d('0x39')](_0x593c08);}});}function handleResult(_0x427dc3){return function(_0x4d139f){if(_0x427dc3[_0x5e0d('0x45')]&&_0x427dc3[_0x5e0d('0x11')]&&_0x427dc3['MailAccount'][_0x5e0d('0x14')]&&!_[_0x5e0d('0x46')](_0x427dc3[_0x5e0d('0x10')])){retryer(_0x427dc3,_0x4d139f);}};}function handleJob(_0x2216a1){return function(){try{if(_[_0x5e0d('0x46')](_0x2216a1[_0x5e0d('0x18')])){return logger[_0x5e0d('0xe')](_0x5e0d('0x47'));}if(_['isNil'](_0x2216a1[_0x5e0d('0x19')])){return logger[_0x5e0d('0xe')](_0x5e0d('0x48'));}var _0x12afd0={'startDate':moment()[_0x5e0d('0x49')](_0x2216a1[_0x5e0d('0x18')],_0x2216a1[_0x5e0d('0x19')])[_0x5e0d('0x16')](_0x5e0d('0x4a')),'endDate':moment()['format'](_0x5e0d('0x4a')),'type':'scheduled','output':_0x2216a1[_0x5e0d('0x4b')],'name':_0x2216a1[_0x5e0d('0x17')]};if(!_['isNil'](_0x2216a1[_0x5e0d('0x4c')])){logger[_0x5e0d('0xe')](_0x5e0d('0x4d'),_0x2216a1[_0x5e0d('0x4c')]);return analyticDefaultReportController[_0x5e0d('0x4e')]({'id':_0x2216a1[_0x5e0d('0x4c')]},_0x12afd0)[_0x5e0d('0xc')](handleResult(_0x2216a1))[_0x5e0d('0x32')](handleError());}if(!_[_0x5e0d('0x46')](_0x2216a1[_0x5e0d('0x4f')])){logger[_0x5e0d('0xe')](_0x5e0d('0x50'),_0x2216a1[_0x5e0d('0x4f')]);return analyticCustomReportController[_0x5e0d('0x4e')]({'id':_0x2216a1[_0x5e0d('0x4f')]},_0x12afd0)[_0x5e0d('0xc')](handleResult(_0x2216a1))[_0x5e0d('0x32')](handleError());}}catch(_0x54c4c8){logger['error'](JSON[_0x5e0d('0x25')](_0x54c4c8));}return logger['info'](_0x5e0d('0x51'));};}function getJobs(_0x3ea8f4){var _0x26393c={};if(_0x3ea8f4){_0x26393c['id']=_0x3ea8f4;}return db[_0x5e0d('0x52')][_0x5e0d('0x53')]({'where':_0x26393c,'include':[{'model':db[_0x5e0d('0x11')],'attributes':['id',_0x5e0d('0x17'),_0x5e0d('0x10')],'include':[{'model':db[_0x5e0d('0x54')],'as':_0x5e0d('0x14'),'include':[{'model':db['CloudProvider'],'as':'CloudProvider'}]}]}]})['then'](function(_0x59529f){var _0x4821ef=_[_0x5e0d('0x55')](manager[_0x5e0d('0x56')]);var _0x41000f=_[_0x5e0d('0x57')](_0x59529f,function(_0x2279d6){return _0x2279d6['id'][_0x5e0d('0x58')]();});var _0x6783bd=_[_0x5e0d('0x59')](_0x59529f,function(_0xcc4029){return _0xcc4029['id'][_0x5e0d('0x58')]();});var _0x21e372=_0x3ea8f4?_0x41000f:_[_0x5e0d('0x5a')](_0x41000f,_0x4821ef);var _0x7d2790=_[_0x5e0d('0x5b')](_0x41000f,_0x4821ef);var _0x240ebd=_['difference'](_0x4821ef,_0x41000f);var _0x2b3a1b;var _0x9638b8;for(_0x2b3a1b=0x0;_0x2b3a1b<_0x240ebd['length']&&!_0x3ea8f4;_0x2b3a1b+=0x1){_0x9638b8=_0x240ebd[_0x2b3a1b][_0x5e0d('0x58')]();if(manager[_0x5e0d('0x5c')](_0x9638b8)){manager[_0x5e0d('0x3c')](_0x9638b8);manager['deleteJob'](_0x9638b8);logger['info'](_0x5e0d('0x5d'),_0x9638b8);}}logger['info'](_0x5e0d('0x5e'),JSON[_0x5e0d('0x25')](_0x21e372));for(_0x2b3a1b=0x0;_0x2b3a1b<_0x21e372[_0x5e0d('0x5f')];_0x2b3a1b+=0x1){_0x9638b8=_0x21e372[_0x2b3a1b][_0x5e0d('0x58')]();if(_0x3ea8f4){logger['info'](JSON[_0x5e0d('0x25')](_0x6783bd[_0x9638b8]));BPromise[_0x5e0d('0x60')]()[_0x5e0d('0xc')](handleJob(_0x6783bd[_0x9638b8]));logger[_0x5e0d('0xe')](_0x5e0d('0x61'),_0x6783bd[_0x9638b8]['name'],_0x6783bd[_0x9638b8]['cron']);}else if(_0x6783bd[_0x9638b8]['cron']&&_0x6783bd[_0x9638b8][_0x5e0d('0x62')]&&moment()['isBetween'](_0x6783bd[_0x9638b8][_0x5e0d('0x63')],_0x6783bd[_0x9638b8]['endAt'])){manager[_0x5e0d('0x64')](_0x9638b8,_0x6783bd[_0x9638b8]['cron'],handleJob(_0x6783bd[_0x9638b8]));manager['start'](_0x9638b8);logger[_0x5e0d('0xe')](_0x5e0d('0x65'),_0x6783bd[_0x9638b8][_0x5e0d('0x17')],_0x6783bd[_0x9638b8][_0x5e0d('0x66')]);}else if(manager['exists'](_0x9638b8)){manager[_0x5e0d('0x3c')](_0x9638b8);manager[_0x5e0d('0x67')](_0x9638b8);logger[_0x5e0d('0xe')]('stop\x20cron',_0x6783bd[_0x9638b8][_0x5e0d('0x17')],_0x6783bd[_0x9638b8]['cron']);}}for(_0x2b3a1b=0x0,_0x9638b8;_0x2b3a1b<_0x7d2790[_0x5e0d('0x5f')]&&!_0x3ea8f4;_0x2b3a1b+=0x1){_0x9638b8=_0x7d2790[_0x2b3a1b][_0x5e0d('0x58')]();if(manager['exists'](_0x9638b8)){if(_0x6783bd[_0x9638b8][_0x5e0d('0x66')]&&_0x6783bd[_0x9638b8][_0x5e0d('0x62')]&&moment()[_0x5e0d('0x68')](_0x6783bd[_0x9638b8]['startAt'],_0x6783bd[_0x9638b8][_0x5e0d('0x69')])){manager[_0x5e0d('0x6a')](_0x9638b8,_0x6783bd[_0x9638b8]['cron'],handleJob(_0x6783bd[_0x9638b8]));logger[_0x5e0d('0xe')](_0x5e0d('0x6b'),_0x6783bd[_0x9638b8]['name'],_0x6783bd[_0x9638b8]['cron']);}else{manager['stop'](_0x9638b8);manager[_0x5e0d('0x67')](_0x9638b8);logger[_0x5e0d('0xe')](_0x5e0d('0x6c'),_0x6783bd[_0x9638b8][_0x5e0d('0x17')],_0x6783bd[_0x9638b8]['cron']);}}}})['catch'](function(_0x5cc9b3){logger[_0x5e0d('0xd')](JSON[_0x5e0d('0x25')](_0x5cc9b3));});}exports[_0x5e0d('0x6d')]=function(_0x4c9212){return getJobs(_0x4c9212);};exports[_0x5e0d('0x6e')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file