Built motion from commit 08fb8613.|2.6.31
[motion2.git] / server / config / schedule / index.js
index a876457..3ebf059 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9cc8=['job','operation','stop','case\x20completed','data','case\x20empty','case\x20failed','Unrecognized\x20status:','entity','dataValues','attempt','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','sendMail','Smtp','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit','YYYY-MM-DD\x20HH:mm:ss','scheduled','output','DefaultReportId','runReport','CustomReportId','exec\x20custom\x20report\x20id:%s','no\x20report\x20id','Schedule','findAll','MailServerOut','CloudProvider','keys','jobs','map','toString','keyBy','difference','intersection','length','exists','deleteJob','toRun','resolve','run\x20job','cron','isBetween','startAt','endAt','start','update','update\x20cron','stop\x20cron','run','path','lodash','moment','cron-job-manager','jayson/promise','bluebird','../logger','schedule','retry','../../api/analyticCustomReport/analyticCustomReport.controller','../../api/analyticDefaultReport/analyticDefaultReport.controller','client','number','AnalyticExtractedReport','findOne','error','info','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','getSmtpOptions','format','\x22%s\x22\x20<%s>','name','user','bcc','Report\x20%s\x20last\x20%s\x20%s','subtractNumber','join','%s.%s','basename','savename','zip','existsSync','status','message','Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a','stringify','attachments','Empty','text','Report\x20empty\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','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','request','SendMail','then','error\x20mail','email\x20sent','catch','case\x20loading','currentAttempt'];(function(_0x3ab51d,_0x2fa01d){var _0x29a04e=function(_0x7807b0){while(--_0x7807b0){_0x3ab51d['push'](_0x3ab51d['shift']());}};_0x29a04e(++_0x2fa01d);}(_0x9cc8,0x10b));var _0x89cc=function(_0x348912,_0x26a234){_0x348912=_0x348912-0x0;var _0x5ed40a=_0x9cc8[_0x348912];return _0x5ed40a;};'use strict';var fs=require('fs');var util=require('util');var path=require(_0x89cc('0x0'));var _=require(_0x89cc('0x1'));var moment=require(_0x89cc('0x2'));var CronJobManager=require(_0x89cc('0x3'));var jayson=require(_0x89cc('0x4'));var BPromise=require(_0x89cc('0x5'));var logger=require(_0x89cc('0x6'))(_0x89cc('0x7'));var db=require('../../mysqldb')['db'];const retry=require(_0x89cc('0x8'));var analyticCustomReportController=require(_0x89cc('0x9'));var analyticDefaultReportController=require(_0x89cc('0xa'));var client=jayson[_0x89cc('0xb')]['http']({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x37bf51){const _0x5f49fc={};if(typeof _0x37bf51===_0x89cc('0xc')){_0x5f49fc['id']=_0x37bf51;}return db[_0x89cc('0xd')][_0x89cc('0xe')]({'where':_0x5f49fc})['then'](function(_0x5a9a29){return _0x5a9a29;})['catch'](function(_0x12bd42){logger[_0x89cc('0xf')](_0x12bd42);});}function handleSendEmail(_0x2b0f00,_0x324419){logger[_0x89cc('0x10')](_0x89cc('0x11'),_0x2b0f00[_0x89cc('0x12')]);var _0x3fac74=!![];var _0x2084eb=_0x2b0f00[_0x89cc('0x13')][_0x89cc('0x14')]();var _0x5ada4a={'account':_0x2084eb,'message':{'from':util[_0x89cc('0x15')](_0x89cc('0x16'),_0x2b0f00[_0x89cc('0x13')][_0x89cc('0x17')],_0x2b0f00[_0x89cc('0x13')]['email']||_0x2b0f00[_0x89cc('0x13')]['Smtp'][_0x89cc('0x18')]),'to':_0x2b0f00[_0x89cc('0x12')],'cc':_0x2b0f00['cc'],'bcc':_0x2b0f00[_0x89cc('0x19')],'subject':util[_0x89cc('0x15')](_0x89cc('0x1a'),_0x324419[_0x89cc('0x17')],_0x2b0f00[_0x89cc('0x1b')],_0x2b0f00['subtractUnit'])}};var _0x58aea2=path[_0x89cc('0x1c')](__dirname,'../../files/reports');var _0x274649=_0x324419['savename'];var _0x457043=util[_0x89cc('0x15')](_0x89cc('0x1d'),path[_0x89cc('0x1e')](_0x324419[_0x89cc('0x1f')],path['extname'](_0x324419[_0x89cc('0x1f')])),_0x89cc('0x20'));var _0x278b60=path['join'](_0x58aea2,_0x274649);var _0x51fa03=path[_0x89cc('0x1c')](_0x58aea2,_0x457043);if(fs[_0x89cc('0x21')](_0x278b60)){_0x324419[_0x89cc('0x22')]='Sent';_0x5ada4a[_0x89cc('0x23')]['attachments']=[{'filename':_0x274649,'path':_0x278b60}];_0x5ada4a[_0x89cc('0x23')]['text']=util[_0x89cc('0x15')](_0x89cc('0x24'),JSON[_0x89cc('0x25')](_0x324419,null,0x2));}else if(fs[_0x89cc('0x21')](_0x51fa03)){_0x324419['status']='Sent';_0x5ada4a[_0x89cc('0x23')][_0x89cc('0x26')]=[{'filename':_0x457043,'path':_0x51fa03}];}else{if(_0x324419[_0x89cc('0x22')]===_0x89cc('0x27')){_0x5ada4a[_0x89cc('0x23')][_0x89cc('0x28')]=_0x89cc('0x29');if(!_0x2b0f00['sendIfEmpty']){_0x3fac74=![];logger[_0x89cc('0x10')](_0x89cc('0x2a'));}}else if(_0x324419[_0x89cc('0x22')]===_0x89cc('0x2b')){_0x5ada4a[_0x89cc('0x23')][_0x89cc('0x28')]=_0x89cc('0x2c');}else if(_0x324419[_0x89cc('0x22')]===_0x89cc('0x2d')){_0x5ada4a[_0x89cc('0x23')][_0x89cc('0x28')]='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(_0x324419['status']==='Failed'){_0x5ada4a[_0x89cc('0x23')]['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[_0x89cc('0xf')]('[handleSendEmail]\x20Unrecognized\x20status:',_0x324419['status']);}}if(_0x3fac74){return client[_0x89cc('0x2e')](_0x89cc('0x2f'),_0x5ada4a)[_0x89cc('0x30')](function(_0x1ecd8f){if(_0x1ecd8f[_0x89cc('0xf')]){return logger['error'](_0x89cc('0x31'),JSON[_0x89cc('0x25')](_0x1ecd8f));}return logger[_0x89cc('0x10')](_0x89cc('0x32'));})[_0x89cc('0x33')](function(_0x30bb45){return logger[_0x89cc('0xf')](_0x89cc('0x31'),JSON[_0x89cc('0x25')](_0x30bb45));});}}function handleError(){return function(_0x13c1ca){return logger[_0x89cc('0xf')](JSON[_0x89cc('0x25')](_0x13c1ca));};}function loading(_0x3f4af7){logger[_0x89cc('0x10')](_0x89cc('0x34'));if(_0x3f4af7[_0x89cc('0x35')]===_0x3f4af7['retryOptions']['retries']){handleSendEmail(_0x3f4af7[_0x89cc('0x36')],_0x3f4af7['data']);_0x3f4af7[_0x89cc('0x37')][_0x89cc('0x38')]();}else{_0x3f4af7['operation'][_0x89cc('0x8')]('still\x20loading');}}function completed(_0x50c307){logger['info'](_0x89cc('0x39'));handleSendEmail(_0x50c307[_0x89cc('0x36')],_0x50c307[_0x89cc('0x3a')]);_0x50c307[_0x89cc('0x37')][_0x89cc('0x38')]();}function empty(_0xd85b77){logger[_0x89cc('0x10')](_0x89cc('0x3b'));handleSendEmail(_0xd85b77[_0x89cc('0x36')],_0xd85b77['data']);_0xd85b77[_0x89cc('0x37')][_0x89cc('0x38')]();}function failed(_0x6b3692){logger[_0x89cc('0x10')](_0x89cc('0x3c'));handleSendEmail(_0x6b3692[_0x89cc('0x36')],_0x6b3692['data']);_0x6b3692[_0x89cc('0x37')][_0x89cc('0x38')]();}function urecognized(_0x41d6af){logger['error'](_0x89cc('0x3d'),_0x41d6af[_0x89cc('0x3e')][_0x89cc('0x3f')]['status']);_0x41d6af['operation']['stop']();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x2fe521,_0x6e7c19){const _0x468db4={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x284f40=retry[_0x89cc('0x37')](_0x468db4);_0x284f40[_0x89cc('0x40')](_0x5f043b=>{logger[_0x89cc('0x10')](_0x89cc('0x41')+_0x2fe521['id']+_0x89cc('0x42')+_0x5f043b);try{getReportData(_0x6e7c19['id'])['then'](function(_0x7f9ab7){_0x6e7c19=_0x7f9ab7;logger[_0x89cc('0x10')](_0x89cc('0x43'),_0x7f9ab7[_0x89cc('0x3f')]['status']);if(!reportStatusStrategies[_0x7f9ab7[_0x89cc('0x3f')][_0x89cc('0x22')]]){logger[_0x89cc('0xf')](_0x89cc('0x43'),_0x7f9ab7[_0x89cc('0x3f')]['status']);_0x284f40['retry']();}reportStatusStrategies[_0x7f9ab7[_0x89cc('0x3f')]['status']]({'operation':_0x284f40,'currentAttempt':_0x5f043b,'retryOptions':_0x468db4,'job':_0x2fe521,'data':_0x6e7c19,'entity':_0x7f9ab7});});}catch(_0x1e0156){_0x284f40[_0x89cc('0x8')](_0x1e0156);}});}function handleResult(_0x509598){return function(_0x3deaa4){if(_0x509598[_0x89cc('0x44')]&&_0x509598[_0x89cc('0x13')]&&_0x509598['MailAccount'][_0x89cc('0x45')]&&!_[_0x89cc('0x46')](_0x509598[_0x89cc('0x12')])){retryer(_0x509598,_0x3deaa4);}};}function handleJob(_0x127ca7){return function(){try{if(_['isNil'](_0x127ca7[_0x89cc('0x1b')])){return logger[_0x89cc('0x10')](_0x89cc('0x47'));}if(_[_0x89cc('0x46')](_0x127ca7[_0x89cc('0x48')])){return logger[_0x89cc('0x10')]('subtractUnit\x20null\x20or\x20undefined');}var _0x5a9b3e={'startDate':moment()['subtract'](_0x127ca7[_0x89cc('0x1b')],_0x127ca7[_0x89cc('0x48')])[_0x89cc('0x15')]('YYYY-MM-DD\x20HH:mm:ss'),'endDate':moment()[_0x89cc('0x15')](_0x89cc('0x49')),'type':_0x89cc('0x4a'),'output':_0x127ca7[_0x89cc('0x4b')],'name':_0x127ca7[_0x89cc('0x17')]};if(!_['isNil'](_0x127ca7[_0x89cc('0x4c')])){logger[_0x89cc('0x10')]('exec\x20defaul\x20report\x20id:%s',_0x127ca7['DefaultReportId']);return analyticDefaultReportController[_0x89cc('0x4d')]({'id':_0x127ca7[_0x89cc('0x4c')]},_0x5a9b3e)[_0x89cc('0x30')](handleResult(_0x127ca7))['catch'](handleError());}if(!_['isNil'](_0x127ca7[_0x89cc('0x4e')])){logger['info'](_0x89cc('0x4f'),_0x127ca7[_0x89cc('0x4e')]);return analyticCustomReportController[_0x89cc('0x4d')]({'id':_0x127ca7[_0x89cc('0x4e')]},_0x5a9b3e)['then'](handleResult(_0x127ca7))[_0x89cc('0x33')](handleError());}}catch(_0x413630){logger[_0x89cc('0xf')](JSON[_0x89cc('0x25')](_0x413630));}return logger[_0x89cc('0x10')](_0x89cc('0x50'));};}function getJobs(_0x2af3a5){var _0x89db1={};if(_0x2af3a5){_0x89db1['id']=_0x2af3a5;}return db[_0x89cc('0x51')][_0x89cc('0x52')]({'where':_0x89db1,'include':[{'model':db[_0x89cc('0x13')],'attributes':['id',_0x89cc('0x17'),_0x89cc('0x12')],'include':[{'model':db[_0x89cc('0x53')],'as':_0x89cc('0x45'),'include':[{'model':db[_0x89cc('0x54')],'as':_0x89cc('0x54')}]}]}]})[_0x89cc('0x30')](function(_0x2e9c93){var _0x53d592=_[_0x89cc('0x55')](manager[_0x89cc('0x56')]);var _0x3c8edc=_[_0x89cc('0x57')](_0x2e9c93,function(_0x1d7dc7){return _0x1d7dc7['id'][_0x89cc('0x58')]();});var _0x3d10df=_[_0x89cc('0x59')](_0x2e9c93,function(_0x1d94b4){return _0x1d94b4['id'][_0x89cc('0x58')]();});var _0x539ea3=_0x2af3a5?_0x3c8edc:_[_0x89cc('0x5a')](_0x3c8edc,_0x53d592);var _0x419edd=_[_0x89cc('0x5b')](_0x3c8edc,_0x53d592);var _0x38f21b=_[_0x89cc('0x5a')](_0x53d592,_0x3c8edc);var _0x48030a;var _0x103ceb;for(_0x48030a=0x0;_0x48030a<_0x38f21b[_0x89cc('0x5c')]&&!_0x2af3a5;_0x48030a+=0x1){_0x103ceb=_0x38f21b[_0x48030a][_0x89cc('0x58')]();if(manager[_0x89cc('0x5d')](_0x103ceb)){manager[_0x89cc('0x38')](_0x103ceb);manager[_0x89cc('0x5e')](_0x103ceb);logger['info']('delete\x20cron',_0x103ceb);}}logger[_0x89cc('0x10')](_0x89cc('0x5f'),JSON[_0x89cc('0x25')](_0x539ea3));for(_0x48030a=0x0;_0x48030a<_0x539ea3[_0x89cc('0x5c')];_0x48030a+=0x1){_0x103ceb=_0x539ea3[_0x48030a][_0x89cc('0x58')]();if(_0x2af3a5){logger[_0x89cc('0x10')](JSON[_0x89cc('0x25')](_0x3d10df[_0x103ceb]));BPromise[_0x89cc('0x60')]()['then'](handleJob(_0x3d10df[_0x103ceb]));logger[_0x89cc('0x10')](_0x89cc('0x61'),_0x3d10df[_0x103ceb][_0x89cc('0x17')],_0x3d10df[_0x103ceb][_0x89cc('0x62')]);}else if(_0x3d10df[_0x103ceb][_0x89cc('0x62')]&&_0x3d10df[_0x103ceb]['active']&&moment()[_0x89cc('0x63')](_0x3d10df[_0x103ceb][_0x89cc('0x64')],_0x3d10df[_0x103ceb][_0x89cc('0x65')])){manager['add'](_0x103ceb,_0x3d10df[_0x103ceb]['cron'],handleJob(_0x3d10df[_0x103ceb]));manager[_0x89cc('0x66')](_0x103ceb);logger['info']('add\x20cron',_0x3d10df[_0x103ceb][_0x89cc('0x17')],_0x3d10df[_0x103ceb][_0x89cc('0x62')]);}else if(manager[_0x89cc('0x5d')](_0x103ceb)){manager['stop'](_0x103ceb);manager[_0x89cc('0x5e')](_0x103ceb);logger[_0x89cc('0x10')]('stop\x20cron',_0x3d10df[_0x103ceb][_0x89cc('0x17')],_0x3d10df[_0x103ceb][_0x89cc('0x62')]);}}for(_0x48030a=0x0,_0x103ceb;_0x48030a<_0x419edd['length']&&!_0x2af3a5;_0x48030a+=0x1){_0x103ceb=_0x419edd[_0x48030a][_0x89cc('0x58')]();if(manager[_0x89cc('0x5d')](_0x103ceb)){if(_0x3d10df[_0x103ceb][_0x89cc('0x62')]&&_0x3d10df[_0x103ceb]['active']&&moment()[_0x89cc('0x63')](_0x3d10df[_0x103ceb][_0x89cc('0x64')],_0x3d10df[_0x103ceb][_0x89cc('0x65')])){manager[_0x89cc('0x67')](_0x103ceb,_0x3d10df[_0x103ceb][_0x89cc('0x62')],handleJob(_0x3d10df[_0x103ceb]));logger['info'](_0x89cc('0x68'),_0x3d10df[_0x103ceb][_0x89cc('0x17')],_0x3d10df[_0x103ceb]['cron']);}else{manager[_0x89cc('0x38')](_0x103ceb);manager['deleteJob'](_0x103ceb);logger[_0x89cc('0x10')](_0x89cc('0x69'),_0x3d10df[_0x103ceb][_0x89cc('0x17')],_0x3d10df[_0x103ceb][_0x89cc('0x62')]);}}}})['catch'](function(_0x2f4688){logger[_0x89cc('0xf')](JSON[_0x89cc('0x25')](_0x2f4688));});}exports[_0x89cc('0x6a')]=function(_0x303f43){return getJobs(_0x303f43);};exports[_0x89cc('0x66')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+var _0x5aaf=['format','\x22%s\x22\x20<%s>','Smtp','user','name','subtractNumber','subtractUnit','join','%s.%s','basename','savename','extname','zip','existsSync','status','Sent','message','attachments','text','stringify','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\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','[handleSendEmail]\x20Unrecognized\x20status:','request','SendMail','error\x20mail','email\x20sent','case\x20loading','currentAttempt','retryOptions','job','data','operation','still\x20loading','case\x20completed','stop','case\x20empty','case\x20failed','Unrecognized\x20status:','entity','dataValues','attempt','\x20Attempt\x20#:','report\x20status:','sendMail','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','scheduled','output','exec\x20defaul\x20report\x20id:%s','DefaultReportId','runReport','CustomReportId','no\x20report\x20id','Schedule','findAll','CloudProvider','keys','map','toString','keyBy','difference','deleteJob','delete\x20cron','toRun','length','resolve','cron','active','isBetween','startAt','endAt','add\x20cron','stop\x20cron','exists','update\x20cron','run','start','util','lodash','moment','cron-job-manager','bluebird','retry','../../api/analyticCustomReport/analyticCustomReport.controller','../../api/analyticDefaultReport/analyticDefaultReport.controller','client','http','number','findOne','then','catch','error','info','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','getSmtpOptions'];(function(_0x3b0731,_0xcf9925){var _0x4204d7=function(_0x635ac5){while(--_0x635ac5){_0x3b0731['push'](_0x3b0731['shift']());}};_0x4204d7(++_0xcf9925);}(_0x5aaf,0x198));var _0xf5aa=function(_0x1fe188,_0x11e1df){_0x1fe188=_0x1fe188-0x0;var _0x1b3e93=_0x5aaf[_0x1fe188];return _0x1b3e93;};'use strict';var fs=require('fs');var util=require(_0xf5aa('0x0'));var path=require('path');var _=require(_0xf5aa('0x1'));var moment=require(_0xf5aa('0x2'));var CronJobManager=require(_0xf5aa('0x3'));var jayson=require('jayson/promise');var BPromise=require(_0xf5aa('0x4'));var logger=require('../logger')('schedule');var db=require('../../mysqldb')['db'];const retry=require(_0xf5aa('0x5'));var analyticCustomReportController=require(_0xf5aa('0x6'));var analyticDefaultReportController=require(_0xf5aa('0x7'));var client=jayson[_0xf5aa('0x8')][_0xf5aa('0x9')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x202320){const _0x3cde48={};if(typeof _0x202320===_0xf5aa('0xa')){_0x3cde48['id']=_0x202320;}return db['AnalyticExtractedReport'][_0xf5aa('0xb')]({'where':_0x3cde48})[_0xf5aa('0xc')](function(_0x111c23){return _0x111c23;})[_0xf5aa('0xd')](function(_0x1bf9db){logger[_0xf5aa('0xe')](_0x1bf9db);});}function handleSendEmail(_0x1eaf75,_0x2f7466){logger[_0xf5aa('0xf')](_0xf5aa('0x10'),_0x1eaf75[_0xf5aa('0x11')]);var _0x535c74=!![];var _0x1c385d=_0x1eaf75[_0xf5aa('0x12')][_0xf5aa('0x13')]();var _0x388510={'account':_0x1c385d,'message':{'from':util[_0xf5aa('0x14')](_0xf5aa('0x15'),_0x1eaf75[_0xf5aa('0x12')]['name'],_0x1eaf75[_0xf5aa('0x12')][_0xf5aa('0x11')]||_0x1eaf75[_0xf5aa('0x12')][_0xf5aa('0x16')][_0xf5aa('0x17')]),'to':_0x1eaf75['email'],'cc':_0x1eaf75['cc'],'bcc':_0x1eaf75['bcc'],'subject':util[_0xf5aa('0x14')]('Report\x20%s\x20last\x20%s\x20%s',_0x2f7466[_0xf5aa('0x18')],_0x1eaf75[_0xf5aa('0x19')],_0x1eaf75[_0xf5aa('0x1a')])}};var _0x100039=path[_0xf5aa('0x1b')](__dirname,'../../files/reports');var _0x5ea194=_0x2f7466['savename'];var _0x3a7dc5=util['format'](_0xf5aa('0x1c'),path[_0xf5aa('0x1d')](_0x2f7466[_0xf5aa('0x1e')],path[_0xf5aa('0x1f')](_0x2f7466[_0xf5aa('0x1e')])),_0xf5aa('0x20'));var _0x37fc4e=path[_0xf5aa('0x1b')](_0x100039,_0x5ea194);var _0x39fdfe=path[_0xf5aa('0x1b')](_0x100039,_0x3a7dc5);if(fs[_0xf5aa('0x21')](_0x37fc4e)){_0x2f7466[_0xf5aa('0x22')]=_0xf5aa('0x23');_0x388510[_0xf5aa('0x24')][_0xf5aa('0x25')]=[{'filename':_0x5ea194,'path':_0x37fc4e}];_0x388510[_0xf5aa('0x24')][_0xf5aa('0x26')]=util[_0xf5aa('0x14')]('Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a',JSON[_0xf5aa('0x27')](_0x2f7466,null,0x2));}else if(fs[_0xf5aa('0x21')](_0x39fdfe)){_0x2f7466[_0xf5aa('0x22')]='Sent';_0x388510['message'][_0xf5aa('0x25')]=[{'filename':_0x3a7dc5,'path':_0x39fdfe}];}else{if(_0x2f7466[_0xf5aa('0x22')]===_0xf5aa('0x28')){_0x388510[_0xf5aa('0x24')][_0xf5aa('0x26')]=_0xf5aa('0x29');if(!_0x1eaf75[_0xf5aa('0x2a')]){_0x535c74=![];logger[_0xf5aa('0xf')](_0xf5aa('0x2b'));}}else if(_0x2f7466[_0xf5aa('0x22')]===_0xf5aa('0x2c')){_0x388510[_0xf5aa('0x24')][_0xf5aa('0x26')]='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';}else if(_0x2f7466[_0xf5aa('0x22')]==='Completed'){_0x388510[_0xf5aa('0x24')][_0xf5aa('0x26')]=_0xf5aa('0x2d');}else if(_0x2f7466['status']===_0xf5aa('0x2e')){_0x388510[_0xf5aa('0x24')]['text']=_0xf5aa('0x2f');}else{logger[_0xf5aa('0xe')](_0xf5aa('0x30'),_0x2f7466[_0xf5aa('0x22')]);}}if(_0x535c74){return client[_0xf5aa('0x31')](_0xf5aa('0x32'),_0x388510)[_0xf5aa('0xc')](function(_0x29a5a0){if(_0x29a5a0['error']){return logger[_0xf5aa('0xe')](_0xf5aa('0x33'),JSON[_0xf5aa('0x27')](_0x29a5a0));}return logger[_0xf5aa('0xf')](_0xf5aa('0x34'));})[_0xf5aa('0xd')](function(_0x44a3d0){return logger['error'](_0xf5aa('0x33'),JSON['stringify'](_0x44a3d0));});}}function handleError(){return function(_0xb4171){return logger[_0xf5aa('0xe')](JSON[_0xf5aa('0x27')](_0xb4171));};}function loading(_0x53fc12){logger[_0xf5aa('0xf')](_0xf5aa('0x35'));if(_0x53fc12[_0xf5aa('0x36')]===_0x53fc12[_0xf5aa('0x37')]['retries']){handleSendEmail(_0x53fc12[_0xf5aa('0x38')],_0x53fc12[_0xf5aa('0x39')]);_0x53fc12[_0xf5aa('0x3a')]['stop']();}else{_0x53fc12[_0xf5aa('0x3a')][_0xf5aa('0x5')](_0xf5aa('0x3b'));}}function completed(_0x3e6c84){logger[_0xf5aa('0xf')](_0xf5aa('0x3c'));handleSendEmail(_0x3e6c84[_0xf5aa('0x38')],_0x3e6c84[_0xf5aa('0x39')]);_0x3e6c84[_0xf5aa('0x3a')][_0xf5aa('0x3d')]();}function empty(_0x23dba8){logger['info'](_0xf5aa('0x3e'));handleSendEmail(_0x23dba8[_0xf5aa('0x38')],_0x23dba8['data']);_0x23dba8['operation']['stop']();}function failed(_0x4504bb){logger[_0xf5aa('0xf')](_0xf5aa('0x3f'));handleSendEmail(_0x4504bb[_0xf5aa('0x38')],_0x4504bb[_0xf5aa('0x39')]);_0x4504bb[_0xf5aa('0x3a')][_0xf5aa('0x3d')]();}function urecognized(_0x395bad){logger[_0xf5aa('0xe')](_0xf5aa('0x40'),_0x395bad[_0xf5aa('0x41')][_0xf5aa('0x42')][_0xf5aa('0x22')]);_0x395bad[_0xf5aa('0x3a')][_0xf5aa('0x3d')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x16ee28,_0x27c0ad){const _0x50c892={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x7fb63e=retry[_0xf5aa('0x3a')](_0x50c892);_0x7fb63e[_0xf5aa('0x43')](_0x58e3d1=>{logger['info']('Job\x20ID\x20'+_0x16ee28['id']+_0xf5aa('0x44')+_0x58e3d1);try{getReportData(_0x27c0ad['id'])[_0xf5aa('0xc')](function(_0x651668){_0x27c0ad=_0x651668;logger[_0xf5aa('0xf')]('report\x20status:',_0x651668[_0xf5aa('0x42')]['status']);if(!reportStatusStrategies[_0x651668[_0xf5aa('0x42')][_0xf5aa('0x22')]]){logger[_0xf5aa('0xe')](_0xf5aa('0x45'),_0x651668[_0xf5aa('0x42')][_0xf5aa('0x22')]);_0x7fb63e['retry']();}reportStatusStrategies[_0x651668[_0xf5aa('0x42')]['status']]({'operation':_0x7fb63e,'currentAttempt':_0x58e3d1,'retryOptions':_0x50c892,'job':_0x16ee28,'data':_0x27c0ad,'entity':_0x651668});});}catch(_0x40d3f4){_0x7fb63e[_0xf5aa('0x5')](_0x40d3f4);}});}function handleResult(_0x4cbfb6){return function(_0x51d928){if(_0x4cbfb6[_0xf5aa('0x46')]&&_0x4cbfb6[_0xf5aa('0x12')]&&_0x4cbfb6['MailAccount'][_0xf5aa('0x16')]&&!_[_0xf5aa('0x47')](_0x4cbfb6[_0xf5aa('0x11')])){retryer(_0x4cbfb6,_0x51d928);}};}function handleJob(_0x1b04e6){return function(){try{if(_[_0xf5aa('0x47')](_0x1b04e6[_0xf5aa('0x19')])){return logger[_0xf5aa('0xf')](_0xf5aa('0x48'));}if(_['isNil'](_0x1b04e6['subtractUnit'])){return logger[_0xf5aa('0xf')](_0xf5aa('0x49'));}var _0x1b5444={'startDate':moment()[_0xf5aa('0x4a')](_0x1b04e6[_0xf5aa('0x19')],_0x1b04e6['subtractUnit'])[_0xf5aa('0x14')](_0xf5aa('0x4b')),'endDate':moment()[_0xf5aa('0x14')]('YYYY-MM-DD\x20HH:mm:ss'),'type':_0xf5aa('0x4c'),'output':_0x1b04e6[_0xf5aa('0x4d')],'name':_0x1b04e6[_0xf5aa('0x18')]};if(!_['isNil'](_0x1b04e6['DefaultReportId'])){logger['info'](_0xf5aa('0x4e'),_0x1b04e6[_0xf5aa('0x4f')]);return analyticDefaultReportController[_0xf5aa('0x50')]({'id':_0x1b04e6[_0xf5aa('0x4f')]},_0x1b5444)[_0xf5aa('0xc')](handleResult(_0x1b04e6))[_0xf5aa('0xd')](handleError());}if(!_['isNil'](_0x1b04e6['CustomReportId'])){logger[_0xf5aa('0xf')]('exec\x20custom\x20report\x20id:%s',_0x1b04e6[_0xf5aa('0x51')]);return analyticCustomReportController['runReport']({'id':_0x1b04e6[_0xf5aa('0x51')]},_0x1b5444)[_0xf5aa('0xc')](handleResult(_0x1b04e6))[_0xf5aa('0xd')](handleError());}}catch(_0x5699dc){logger[_0xf5aa('0xe')](JSON[_0xf5aa('0x27')](_0x5699dc));}return logger['info'](_0xf5aa('0x52'));};}function getJobs(_0x4f7092){var _0x29d236={};if(_0x4f7092){_0x29d236['id']=_0x4f7092;}return db[_0xf5aa('0x53')][_0xf5aa('0x54')]({'where':_0x29d236,'include':[{'model':db[_0xf5aa('0x12')],'attributes':['id',_0xf5aa('0x18'),_0xf5aa('0x11')],'include':[{'model':db['MailServerOut'],'as':_0xf5aa('0x16'),'include':[{'model':db[_0xf5aa('0x55')],'as':_0xf5aa('0x55')}]}]}]})[_0xf5aa('0xc')](function(_0xc348fa){var _0x923f79=_[_0xf5aa('0x56')](manager['jobs']);var _0x1e79ac=_[_0xf5aa('0x57')](_0xc348fa,function(_0x54aee9){return _0x54aee9['id'][_0xf5aa('0x58')]();});var _0x33607e=_[_0xf5aa('0x59')](_0xc348fa,function(_0x45bf05){return _0x45bf05['id'][_0xf5aa('0x58')]();});var _0x5e4deb=_0x4f7092?_0x1e79ac:_[_0xf5aa('0x5a')](_0x1e79ac,_0x923f79);var _0x7bf68a=_['intersection'](_0x1e79ac,_0x923f79);var _0x1af115=_[_0xf5aa('0x5a')](_0x923f79,_0x1e79ac);var _0x440c83;var _0x2a581e;for(_0x440c83=0x0;_0x440c83<_0x1af115['length']&&!_0x4f7092;_0x440c83+=0x1){_0x2a581e=_0x1af115[_0x440c83][_0xf5aa('0x58')]();if(manager['exists'](_0x2a581e)){manager[_0xf5aa('0x3d')](_0x2a581e);manager[_0xf5aa('0x5b')](_0x2a581e);logger[_0xf5aa('0xf')](_0xf5aa('0x5c'),_0x2a581e);}}logger[_0xf5aa('0xf')](_0xf5aa('0x5d'),JSON[_0xf5aa('0x27')](_0x5e4deb));for(_0x440c83=0x0;_0x440c83<_0x5e4deb[_0xf5aa('0x5e')];_0x440c83+=0x1){_0x2a581e=_0x5e4deb[_0x440c83][_0xf5aa('0x58')]();if(_0x4f7092){logger[_0xf5aa('0xf')](JSON['stringify'](_0x33607e[_0x2a581e]));BPromise[_0xf5aa('0x5f')]()['then'](handleJob(_0x33607e[_0x2a581e]));logger[_0xf5aa('0xf')]('run\x20job',_0x33607e[_0x2a581e][_0xf5aa('0x18')],_0x33607e[_0x2a581e][_0xf5aa('0x60')]);}else if(_0x33607e[_0x2a581e][_0xf5aa('0x60')]&&_0x33607e[_0x2a581e][_0xf5aa('0x61')]&&moment()[_0xf5aa('0x62')](_0x33607e[_0x2a581e][_0xf5aa('0x63')],_0x33607e[_0x2a581e][_0xf5aa('0x64')])){manager['add'](_0x2a581e,_0x33607e[_0x2a581e][_0xf5aa('0x60')],handleJob(_0x33607e[_0x2a581e]));manager['start'](_0x2a581e);logger['info'](_0xf5aa('0x65'),_0x33607e[_0x2a581e]['name'],_0x33607e[_0x2a581e]['cron']);}else if(manager['exists'](_0x2a581e)){manager['stop'](_0x2a581e);manager[_0xf5aa('0x5b')](_0x2a581e);logger[_0xf5aa('0xf')](_0xf5aa('0x66'),_0x33607e[_0x2a581e]['name'],_0x33607e[_0x2a581e]['cron']);}}for(_0x440c83=0x0,_0x2a581e;_0x440c83<_0x7bf68a[_0xf5aa('0x5e')]&&!_0x4f7092;_0x440c83+=0x1){_0x2a581e=_0x7bf68a[_0x440c83]['toString']();if(manager[_0xf5aa('0x67')](_0x2a581e)){if(_0x33607e[_0x2a581e][_0xf5aa('0x60')]&&_0x33607e[_0x2a581e]['active']&&moment()['isBetween'](_0x33607e[_0x2a581e]['startAt'],_0x33607e[_0x2a581e]['endAt'])){manager['update'](_0x2a581e,_0x33607e[_0x2a581e]['cron'],handleJob(_0x33607e[_0x2a581e]));logger[_0xf5aa('0xf')](_0xf5aa('0x68'),_0x33607e[_0x2a581e][_0xf5aa('0x18')],_0x33607e[_0x2a581e][_0xf5aa('0x60')]);}else{manager[_0xf5aa('0x3d')](_0x2a581e);manager[_0xf5aa('0x5b')](_0x2a581e);logger[_0xf5aa('0xf')]('stop\x20cron',_0x33607e[_0x2a581e][_0xf5aa('0x18')],_0x33607e[_0x2a581e][_0xf5aa('0x60')]);}}}})['catch'](function(_0x2755d2){logger['error'](JSON[_0xf5aa('0x27')](_0x2755d2));});}exports[_0xf5aa('0x69')]=function(_0x20b13f){return getJobs(_0x20b13f);};exports[_0xf5aa('0x6a')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file