Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / config / schedule / index.js
index 33cacbf..1b59d13 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x8bca=['deleteJob','toRun','length','run\x20job','cron','active','isBetween','startAt','endAt','add','start','add\x20cron','exists','stop\x20cron','update\x20cron','run','path','lodash','moment','jayson/promise','bluebird','../logger','schedule','../../mysqldb','retry','client','http','number','AnalyticExtractedReport','findOne','catch','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','getSmtpOptions','format','\x22%s\x22\x20<%s>','user','bcc','name','subtractNumber','savename','%s.%s','basename','extname','zip','join','status','message','text','stringify','existsSync','Sent','attachments','Empty','Report\x20empty\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','sendIfEmpty','info','empty\x20file,\x20email\x20not\x20sent','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','error','request','SendMail','email\x20sent','case\x20loading','currentAttempt','retries','job','data','operation','stop','case\x20completed','case\x20failed','dataValues','attempt','Job\x20ID\x20','\x20Attempt\x20#:','then','report\x20status:','sendMail','Smtp','isNil','subtractUnit','subtractUnit\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','scheduled','output','exec\x20defaul\x20report\x20id:%s','DefaultReportId','CustomReportId','exec\x20custom\x20report\x20id:%s','no\x20report\x20id','Schedule','findAll','MailServerOut','CloudProvider','jobs','map','keyBy','toString','intersection','difference'];(function(_0x208d35,_0x310b06){var _0xc95619=function(_0x3dce4b){while(--_0x3dce4b){_0x208d35['push'](_0x208d35['shift']());}};_0xc95619(++_0x310b06);}(_0x8bca,0x145));var _0xa8bc=function(_0x3e5086,_0x48f4a2){_0x3e5086=_0x3e5086-0x0;var _0xfeb102=_0x8bca[_0x3e5086];return _0xfeb102;};'use strict';var fs=require('fs');var util=require('util');var path=require(_0xa8bc('0x0'));var _=require(_0xa8bc('0x1'));var moment=require(_0xa8bc('0x2'));var CronJobManager=require('cron-job-manager');var jayson=require(_0xa8bc('0x3'));var BPromise=require(_0xa8bc('0x4'));var logger=require(_0xa8bc('0x5'))(_0xa8bc('0x6'));var db=require(_0xa8bc('0x7'))['db'];const retry=require(_0xa8bc('0x8'));var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require('../../api/analyticDefaultReport/analyticDefaultReport.controller');var client=jayson[_0xa8bc('0x9')][_0xa8bc('0xa')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x19195f){const _0x2f0692={};if(typeof _0x19195f===_0xa8bc('0xb')){_0x2f0692['id']=_0x19195f;}return db[_0xa8bc('0xc')][_0xa8bc('0xd')]({'where':_0x2f0692})['then'](function(_0x26e510){return _0x26e510;})[_0xa8bc('0xe')](function(_0x3c0dc7){logger['error'](_0x3c0dc7);});}function handleSendEmail(_0x5cbf9e,_0x9ad15){logger['info'](_0xa8bc('0xf'),_0x5cbf9e[_0xa8bc('0x10')]);var _0x105050=!![];var _0x31077c=_0x5cbf9e[_0xa8bc('0x11')][_0xa8bc('0x12')]();var _0x482597={'account':_0x31077c,'message':{'from':util[_0xa8bc('0x13')](_0xa8bc('0x14'),_0x5cbf9e['MailAccount']['name'],_0x5cbf9e['MailAccount'][_0xa8bc('0x10')]||_0x5cbf9e[_0xa8bc('0x11')]['Smtp'][_0xa8bc('0x15')]),'to':_0x5cbf9e[_0xa8bc('0x10')],'cc':_0x5cbf9e['cc'],'bcc':_0x5cbf9e[_0xa8bc('0x16')],'subject':util['format']('Report\x20%s\x20last\x20%s\x20%s',_0x9ad15[_0xa8bc('0x17')],_0x5cbf9e[_0xa8bc('0x18')],_0x5cbf9e['subtractUnit'])}};var _0x215e49=path['join'](__dirname,'../../files/reports');var _0x17bc00=_0x9ad15[_0xa8bc('0x19')];var _0x12362d=util['format'](_0xa8bc('0x1a'),path[_0xa8bc('0x1b')](_0x9ad15['savename'],path[_0xa8bc('0x1c')](_0x9ad15[_0xa8bc('0x19')])),_0xa8bc('0x1d'));var _0x36c788=path[_0xa8bc('0x1e')](_0x215e49,_0x17bc00);var _0x21cc68=path[_0xa8bc('0x1e')](_0x215e49,_0x12362d);if(fs['existsSync'](_0x36c788)){_0x9ad15[_0xa8bc('0x1f')]='Sent';_0x482597[_0xa8bc('0x20')]['attachments']=[{'filename':_0x17bc00,'path':_0x36c788}];_0x482597[_0xa8bc('0x20')][_0xa8bc('0x21')]=util[_0xa8bc('0x13')]('Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a',JSON[_0xa8bc('0x22')](_0x9ad15,null,0x2));}else if(fs[_0xa8bc('0x23')](_0x21cc68)){_0x9ad15[_0xa8bc('0x1f')]=_0xa8bc('0x24');_0x482597[_0xa8bc('0x20')][_0xa8bc('0x25')]=[{'filename':_0x12362d,'path':_0x21cc68}];}else{if(_0x9ad15['status']===_0xa8bc('0x26')){_0x482597[_0xa8bc('0x20')][_0xa8bc('0x21')]=_0xa8bc('0x27');if(!_0x5cbf9e[_0xa8bc('0x28')]){_0x105050=![];logger[_0xa8bc('0x29')](_0xa8bc('0x2a'));}}else if(_0x9ad15['status']==='Loading'){_0x482597[_0xa8bc('0x20')][_0xa8bc('0x21')]='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(_0x9ad15['status']===_0xa8bc('0x2b')){_0x482597[_0xa8bc('0x20')][_0xa8bc('0x21')]=_0xa8bc('0x2c');}else if(_0x9ad15[_0xa8bc('0x1f')]==='Failed'){_0x482597[_0xa8bc('0x20')][_0xa8bc('0x21')]='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[_0xa8bc('0x2d')]('[handleSendEmail]\x20Unrecognized\x20status:',_0x9ad15[_0xa8bc('0x1f')]);}}if(_0x105050){return client[_0xa8bc('0x2e')](_0xa8bc('0x2f'),_0x482597)['then'](function(_0x1116e4){if(_0x1116e4[_0xa8bc('0x2d')]){return logger['error']('error\x20mail',JSON['stringify'](_0x1116e4));}return logger[_0xa8bc('0x29')](_0xa8bc('0x30'));})[_0xa8bc('0xe')](function(_0x3000d9){return logger[_0xa8bc('0x2d')]('error\x20mail',JSON[_0xa8bc('0x22')](_0x3000d9));});}}function handleError(){return function(_0x8e2d1f){return logger['error'](JSON[_0xa8bc('0x22')](_0x8e2d1f));};}function loading(_0x13ad65){logger[_0xa8bc('0x29')](_0xa8bc('0x31'));if(_0x13ad65[_0xa8bc('0x32')]===_0x13ad65['retryOptions'][_0xa8bc('0x33')]){handleSendEmail(_0x13ad65[_0xa8bc('0x34')],_0x13ad65[_0xa8bc('0x35')]);_0x13ad65[_0xa8bc('0x36')][_0xa8bc('0x37')]();}else{_0x13ad65[_0xa8bc('0x36')][_0xa8bc('0x8')]('still\x20loading');}}function completed(_0x51d96e){logger[_0xa8bc('0x29')](_0xa8bc('0x38'));handleSendEmail(_0x51d96e[_0xa8bc('0x34')],_0x51d96e[_0xa8bc('0x35')]);_0x51d96e[_0xa8bc('0x36')][_0xa8bc('0x37')]();}function empty(_0x3b3900){logger['info']('case\x20empty');handleSendEmail(_0x3b3900[_0xa8bc('0x34')],_0x3b3900[_0xa8bc('0x35')]);_0x3b3900[_0xa8bc('0x36')][_0xa8bc('0x37')]();}function failed(_0x525e91){logger['info'](_0xa8bc('0x39'));handleSendEmail(_0x525e91['job'],_0x525e91[_0xa8bc('0x35')]);_0x525e91[_0xa8bc('0x36')][_0xa8bc('0x37')]();}function urecognized(_0x99e27b){logger[_0xa8bc('0x2d')]('Unrecognized\x20status:',_0x99e27b['entity'][_0xa8bc('0x3a')][_0xa8bc('0x1f')]);_0x99e27b[_0xa8bc('0x36')][_0xa8bc('0x37')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x1b8811,_0x3f90b0){const _0x2a94aa={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x3811b1=retry[_0xa8bc('0x36')](_0x2a94aa);_0x3811b1[_0xa8bc('0x3b')](_0x371e06=>{logger['info'](_0xa8bc('0x3c')+_0x1b8811['id']+_0xa8bc('0x3d')+_0x371e06);try{getReportData(_0x3f90b0['id'])[_0xa8bc('0x3e')](function(_0x4af98e){_0x3f90b0=_0x4af98e;logger['info'](_0xa8bc('0x3f'),_0x4af98e[_0xa8bc('0x3a')][_0xa8bc('0x1f')]);if(!reportStatusStrategies[_0x4af98e[_0xa8bc('0x3a')][_0xa8bc('0x1f')]]){logger[_0xa8bc('0x2d')](_0xa8bc('0x3f'),_0x4af98e[_0xa8bc('0x3a')][_0xa8bc('0x1f')]);_0x3811b1[_0xa8bc('0x8')]();}reportStatusStrategies[_0x4af98e[_0xa8bc('0x3a')][_0xa8bc('0x1f')]]({'operation':_0x3811b1,'currentAttempt':_0x371e06,'retryOptions':_0x2a94aa,'job':_0x1b8811,'data':_0x3f90b0,'entity':_0x4af98e});});}catch(_0xad11ac){_0x3811b1['retry'](_0xad11ac);}});}function handleResult(_0x240fcd){return function(_0x25aea7){if(_0x240fcd[_0xa8bc('0x40')]&&_0x240fcd[_0xa8bc('0x11')]&&_0x240fcd[_0xa8bc('0x11')][_0xa8bc('0x41')]&&!_['isNil'](_0x240fcd[_0xa8bc('0x10')])){retryer(_0x240fcd,_0x25aea7);}};}function handleJob(_0x1888e6){return function(){try{if(_[_0xa8bc('0x42')](_0x1888e6[_0xa8bc('0x18')])){return logger[_0xa8bc('0x29')]('subtractNumber\x20null\x20or\x20undefined');}if(_[_0xa8bc('0x42')](_0x1888e6[_0xa8bc('0x43')])){return logger[_0xa8bc('0x29')](_0xa8bc('0x44'));}var _0x8074f3={'startDate':moment()['subtract'](_0x1888e6['subtractNumber'],_0x1888e6['subtractUnit'])[_0xa8bc('0x13')]('YYYY-MM-DD\x20HH:mm:ss'),'endDate':moment()[_0xa8bc('0x13')](_0xa8bc('0x45')),'type':_0xa8bc('0x46'),'output':_0x1888e6[_0xa8bc('0x47')],'name':_0x1888e6['name']};if(!_[_0xa8bc('0x42')](_0x1888e6['DefaultReportId'])){logger[_0xa8bc('0x29')](_0xa8bc('0x48'),_0x1888e6['DefaultReportId']);return analyticDefaultReportController['runReport']({'id':_0x1888e6[_0xa8bc('0x49')]},_0x8074f3)[_0xa8bc('0x3e')](handleResult(_0x1888e6))['catch'](handleError());}if(!_['isNil'](_0x1888e6[_0xa8bc('0x4a')])){logger[_0xa8bc('0x29')](_0xa8bc('0x4b'),_0x1888e6[_0xa8bc('0x4a')]);return analyticCustomReportController['runReport']({'id':_0x1888e6[_0xa8bc('0x4a')]},_0x8074f3)[_0xa8bc('0x3e')](handleResult(_0x1888e6))['catch'](handleError());}}catch(_0x1adda0){logger[_0xa8bc('0x2d')](JSON[_0xa8bc('0x22')](_0x1adda0));}return logger[_0xa8bc('0x29')](_0xa8bc('0x4c'));};}function getJobs(_0x4e7728){var _0x1f471e={};if(_0x4e7728){_0x1f471e['id']=_0x4e7728;}return db[_0xa8bc('0x4d')][_0xa8bc('0x4e')]({'where':_0x1f471e,'include':[{'model':db[_0xa8bc('0x11')],'attributes':['id',_0xa8bc('0x17'),_0xa8bc('0x10')],'include':[{'model':db[_0xa8bc('0x4f')],'as':_0xa8bc('0x41'),'include':[{'model':db[_0xa8bc('0x50')],'as':_0xa8bc('0x50')}]}]}]})[_0xa8bc('0x3e')](function(_0x3d75bf){var _0x29afb4=_['keys'](manager[_0xa8bc('0x51')]);var _0x510970=_[_0xa8bc('0x52')](_0x3d75bf,function(_0x5ce951){return _0x5ce951['id']['toString']();});var _0x72d48=_[_0xa8bc('0x53')](_0x3d75bf,function(_0x2ab3f7){return _0x2ab3f7['id'][_0xa8bc('0x54')]();});var _0x4c5f18=_0x4e7728?_0x510970:_['difference'](_0x510970,_0x29afb4);var _0x38354d=_[_0xa8bc('0x55')](_0x510970,_0x29afb4);var _0x2bc6c3=_[_0xa8bc('0x56')](_0x29afb4,_0x510970);var _0xf0da1f;var _0x4e7add;for(_0xf0da1f=0x0;_0xf0da1f<_0x2bc6c3['length']&&!_0x4e7728;_0xf0da1f+=0x1){_0x4e7add=_0x2bc6c3[_0xf0da1f]['toString']();if(manager['exists'](_0x4e7add)){manager[_0xa8bc('0x37')](_0x4e7add);manager[_0xa8bc('0x57')](_0x4e7add);logger[_0xa8bc('0x29')]('delete\x20cron',_0x4e7add);}}logger[_0xa8bc('0x29')](_0xa8bc('0x58'),JSON['stringify'](_0x4c5f18));for(_0xf0da1f=0x0;_0xf0da1f<_0x4c5f18[_0xa8bc('0x59')];_0xf0da1f+=0x1){_0x4e7add=_0x4c5f18[_0xf0da1f][_0xa8bc('0x54')]();if(_0x4e7728){logger['info'](JSON[_0xa8bc('0x22')](_0x72d48[_0x4e7add]));BPromise['resolve']()[_0xa8bc('0x3e')](handleJob(_0x72d48[_0x4e7add]));logger[_0xa8bc('0x29')](_0xa8bc('0x5a'),_0x72d48[_0x4e7add][_0xa8bc('0x17')],_0x72d48[_0x4e7add][_0xa8bc('0x5b')]);}else if(_0x72d48[_0x4e7add][_0xa8bc('0x5b')]&&_0x72d48[_0x4e7add][_0xa8bc('0x5c')]&&moment()[_0xa8bc('0x5d')](_0x72d48[_0x4e7add][_0xa8bc('0x5e')],_0x72d48[_0x4e7add][_0xa8bc('0x5f')])){manager[_0xa8bc('0x60')](_0x4e7add,_0x72d48[_0x4e7add][_0xa8bc('0x5b')],handleJob(_0x72d48[_0x4e7add]));manager[_0xa8bc('0x61')](_0x4e7add);logger[_0xa8bc('0x29')](_0xa8bc('0x62'),_0x72d48[_0x4e7add]['name'],_0x72d48[_0x4e7add][_0xa8bc('0x5b')]);}else if(manager[_0xa8bc('0x63')](_0x4e7add)){manager[_0xa8bc('0x37')](_0x4e7add);manager['deleteJob'](_0x4e7add);logger[_0xa8bc('0x29')](_0xa8bc('0x64'),_0x72d48[_0x4e7add][_0xa8bc('0x17')],_0x72d48[_0x4e7add][_0xa8bc('0x5b')]);}}for(_0xf0da1f=0x0,_0x4e7add;_0xf0da1f<_0x38354d['length']&&!_0x4e7728;_0xf0da1f+=0x1){_0x4e7add=_0x38354d[_0xf0da1f][_0xa8bc('0x54')]();if(manager[_0xa8bc('0x63')](_0x4e7add)){if(_0x72d48[_0x4e7add][_0xa8bc('0x5b')]&&_0x72d48[_0x4e7add][_0xa8bc('0x5c')]&&moment()['isBetween'](_0x72d48[_0x4e7add][_0xa8bc('0x5e')],_0x72d48[_0x4e7add][_0xa8bc('0x5f')])){manager['update'](_0x4e7add,_0x72d48[_0x4e7add][_0xa8bc('0x5b')],handleJob(_0x72d48[_0x4e7add]));logger[_0xa8bc('0x29')](_0xa8bc('0x65'),_0x72d48[_0x4e7add][_0xa8bc('0x17')],_0x72d48[_0x4e7add][_0xa8bc('0x5b')]);}else{manager[_0xa8bc('0x37')](_0x4e7add);manager['deleteJob'](_0x4e7add);logger['info']('stop\x20cron',_0x72d48[_0x4e7add][_0xa8bc('0x17')],_0x72d48[_0x4e7add][_0xa8bc('0x5b')]);}}}})[_0xa8bc('0xe')](function(_0x3fb011){logger[_0xa8bc('0x2d')](JSON[_0xa8bc('0x22')](_0x3fb011));});}exports[_0xa8bc('0x66')]=function(_0x219004){return getJobs(_0x219004);};exports['start']=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+var _0xaae9=['delete\x20cron','toRun','resolve','run\x20job','cron','active','isBetween','startAt','start','add\x20cron','stop\x20cron','endAt','update','update\x20cron','run','util','path','lodash','moment','jayson/promise','bluebird','../logger','../../mysqldb','retry','client','http','number','AnalyticExtractedReport','then','catch','info','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','getSmtpOptions','format','\x22%s\x22\x20<%s>','Smtp','user','bcc','join','../../files/reports','savename','%s.%s','basename','extname','zip','existsSync','status','Sent','message','attachments','text','Empty','Report\x20empty\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','sendIfEmpty','Loading','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','request','SendMail','error\x20mail','stringify','email\x20sent','case\x20loading','currentAttempt','retryOptions','retries','job','operation','still\x20loading','case\x20completed','data','stop','case\x20failed','Unrecognized\x20status:','entity','dataValues','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','sendMail','isNil','subtractNumber','subtractNumber\x20null\x20or\x20undefined','subtractUnit','subtractUnit\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','scheduled','DefaultReportId','exec\x20defaul\x20report\x20id:%s','runReport','CustomReportId','exec\x20custom\x20report\x20id:%s','no\x20report\x20id','Schedule','findAll','name','CloudProvider','keys','jobs','map','toString','difference','length','exists'];(function(_0x5d5b1a,_0xea27e5){var _0x5d35a7=function(_0x3fa8e2){while(--_0x3fa8e2){_0x5d5b1a['push'](_0x5d5b1a['shift']());}};_0x5d35a7(++_0xea27e5);}(_0xaae9,0x156));var _0x9aae=function(_0x3e7669,_0x2fb3dd){_0x3e7669=_0x3e7669-0x0;var _0x22a04c=_0xaae9[_0x3e7669];return _0x22a04c;};'use strict';var fs=require('fs');var util=require(_0x9aae('0x0'));var path=require(_0x9aae('0x1'));var _=require(_0x9aae('0x2'));var moment=require(_0x9aae('0x3'));var CronJobManager=require('cron-job-manager');var jayson=require(_0x9aae('0x4'));var BPromise=require(_0x9aae('0x5'));var logger=require(_0x9aae('0x6'))('schedule');var db=require(_0x9aae('0x7'))['db'];const retry=require(_0x9aae('0x8'));var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require('../../api/analyticDefaultReport/analyticDefaultReport.controller');var client=jayson[_0x9aae('0x9')][_0x9aae('0xa')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x471954){const _0x5b6767={};if(typeof _0x471954===_0x9aae('0xb')){_0x5b6767['id']=_0x471954;}return db[_0x9aae('0xc')]['findOne']({'where':_0x5b6767})[_0x9aae('0xd')](function(_0x4718fa){return _0x4718fa;})[_0x9aae('0xe')](function(_0x449e2f){logger['error'](_0x449e2f);});}function handleSendEmail(_0x1d6d4a,_0x2b9548){logger[_0x9aae('0xf')](_0x9aae('0x10'),_0x1d6d4a[_0x9aae('0x11')]);var _0x4d0eff=!![];var _0x175a57=_0x1d6d4a[_0x9aae('0x12')][_0x9aae('0x13')]();var _0x5347b2={'account':_0x175a57,'message':{'from':util[_0x9aae('0x14')](_0x9aae('0x15'),_0x1d6d4a[_0x9aae('0x12')]['name'],_0x1d6d4a[_0x9aae('0x12')][_0x9aae('0x11')]||_0x1d6d4a[_0x9aae('0x12')][_0x9aae('0x16')][_0x9aae('0x17')]),'to':_0x1d6d4a[_0x9aae('0x11')],'cc':_0x1d6d4a['cc'],'bcc':_0x1d6d4a[_0x9aae('0x18')],'subject':util[_0x9aae('0x14')]('Report\x20%s\x20last\x20%s\x20%s',_0x2b9548['name'],_0x1d6d4a['subtractNumber'],_0x1d6d4a['subtractUnit'])}};var _0x5b350a=path[_0x9aae('0x19')](__dirname,_0x9aae('0x1a'));var _0x5a177e=_0x2b9548[_0x9aae('0x1b')];var _0x2e7305=util[_0x9aae('0x14')](_0x9aae('0x1c'),path[_0x9aae('0x1d')](_0x2b9548[_0x9aae('0x1b')],path[_0x9aae('0x1e')](_0x2b9548['savename'])),_0x9aae('0x1f'));var _0x2ec3ed=path[_0x9aae('0x19')](_0x5b350a,_0x5a177e);var _0xf7061f=path[_0x9aae('0x19')](_0x5b350a,_0x2e7305);if(fs[_0x9aae('0x20')](_0x2ec3ed)){_0x2b9548[_0x9aae('0x21')]=_0x9aae('0x22');_0x5347b2[_0x9aae('0x23')][_0x9aae('0x24')]=[{'filename':_0x5a177e,'path':_0x2ec3ed}];_0x5347b2[_0x9aae('0x23')][_0x9aae('0x25')]=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['stringify'](_0x2b9548,null,0x2));}else if(fs[_0x9aae('0x20')](_0xf7061f)){_0x2b9548['status']=_0x9aae('0x22');_0x5347b2['message'][_0x9aae('0x24')]=[{'filename':_0x2e7305,'path':_0xf7061f}];}else{if(_0x2b9548[_0x9aae('0x21')]===_0x9aae('0x26')){_0x5347b2[_0x9aae('0x23')][_0x9aae('0x25')]=_0x9aae('0x27');if(!_0x1d6d4a[_0x9aae('0x28')]){_0x4d0eff=![];logger['info']('empty\x20file,\x20email\x20not\x20sent');}}else if(_0x2b9548[_0x9aae('0x21')]===_0x9aae('0x29')){_0x5347b2[_0x9aae('0x23')][_0x9aae('0x25')]='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(_0x2b9548[_0x9aae('0x21')]===_0x9aae('0x2a')){_0x5347b2[_0x9aae('0x23')]['text']=_0x9aae('0x2b');}else if(_0x2b9548[_0x9aae('0x21')]===_0x9aae('0x2c')){_0x5347b2[_0x9aae('0x23')][_0x9aae('0x25')]=_0x9aae('0x2d');}else{logger[_0x9aae('0x2e')]('[handleSendEmail]\x20Unrecognized\x20status:',_0x2b9548['status']);}}if(_0x4d0eff){return client[_0x9aae('0x2f')](_0x9aae('0x30'),_0x5347b2)[_0x9aae('0xd')](function(_0x4f1cea){if(_0x4f1cea[_0x9aae('0x2e')]){return logger['error'](_0x9aae('0x31'),JSON[_0x9aae('0x32')](_0x4f1cea));}return logger[_0x9aae('0xf')](_0x9aae('0x33'));})[_0x9aae('0xe')](function(_0x16d9bf){return logger[_0x9aae('0x2e')](_0x9aae('0x31'),JSON[_0x9aae('0x32')](_0x16d9bf));});}}function handleError(){return function(_0x65d970){return logger[_0x9aae('0x2e')](JSON[_0x9aae('0x32')](_0x65d970));};}function loading(_0x5c51d3){logger[_0x9aae('0xf')](_0x9aae('0x34'));if(_0x5c51d3[_0x9aae('0x35')]===_0x5c51d3[_0x9aae('0x36')][_0x9aae('0x37')]){handleSendEmail(_0x5c51d3[_0x9aae('0x38')],_0x5c51d3['data']);_0x5c51d3['operation']['stop']();}else{_0x5c51d3[_0x9aae('0x39')][_0x9aae('0x8')](_0x9aae('0x3a'));}}function completed(_0x41ab89){logger[_0x9aae('0xf')](_0x9aae('0x3b'));handleSendEmail(_0x41ab89[_0x9aae('0x38')],_0x41ab89[_0x9aae('0x3c')]);_0x41ab89['operation'][_0x9aae('0x3d')]();}function empty(_0x421b9b){logger['info']('case\x20empty');handleSendEmail(_0x421b9b['job'],_0x421b9b[_0x9aae('0x3c')]);_0x421b9b[_0x9aae('0x39')][_0x9aae('0x3d')]();}function failed(_0x7773cc){logger['info'](_0x9aae('0x3e'));handleSendEmail(_0x7773cc[_0x9aae('0x38')],_0x7773cc[_0x9aae('0x3c')]);_0x7773cc[_0x9aae('0x39')]['stop']();}function urecognized(_0x14c060){logger[_0x9aae('0x2e')](_0x9aae('0x3f'),_0x14c060[_0x9aae('0x40')][_0x9aae('0x41')][_0x9aae('0x21')]);_0x14c060[_0x9aae('0x39')][_0x9aae('0x3d')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x303d02,_0x2d24a2){const _0x3cdec9={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x3b7850=retry[_0x9aae('0x39')](_0x3cdec9);_0x3b7850['attempt'](_0x1cbb58=>{logger[_0x9aae('0xf')](_0x9aae('0x42')+_0x303d02['id']+_0x9aae('0x43')+_0x1cbb58);try{getReportData(_0x2d24a2['id'])[_0x9aae('0xd')](function(_0x39a091){_0x2d24a2=_0x39a091;logger[_0x9aae('0xf')](_0x9aae('0x44'),_0x39a091['dataValues'][_0x9aae('0x21')]);if(!reportStatusStrategies[_0x39a091['dataValues']['status']]){logger[_0x9aae('0x2e')](_0x9aae('0x44'),_0x39a091[_0x9aae('0x41')][_0x9aae('0x21')]);_0x3b7850[_0x9aae('0x8')]();}reportStatusStrategies[_0x39a091[_0x9aae('0x41')][_0x9aae('0x21')]]({'operation':_0x3b7850,'currentAttempt':_0x1cbb58,'retryOptions':_0x3cdec9,'job':_0x303d02,'data':_0x2d24a2,'entity':_0x39a091});});}catch(_0x337c80){_0x3b7850[_0x9aae('0x8')](_0x337c80);}});}function handleResult(_0x35736e){return function(_0x1e47ad){if(_0x35736e[_0x9aae('0x45')]&&_0x35736e[_0x9aae('0x12')]&&_0x35736e[_0x9aae('0x12')][_0x9aae('0x16')]&&!_[_0x9aae('0x46')](_0x35736e[_0x9aae('0x11')])){retryer(_0x35736e,_0x1e47ad);}};}function handleJob(_0x5ed6bd){return function(){try{if(_[_0x9aae('0x46')](_0x5ed6bd[_0x9aae('0x47')])){return logger[_0x9aae('0xf')](_0x9aae('0x48'));}if(_[_0x9aae('0x46')](_0x5ed6bd[_0x9aae('0x49')])){return logger[_0x9aae('0xf')](_0x9aae('0x4a'));}var _0x227e32={'startDate':moment()['subtract'](_0x5ed6bd[_0x9aae('0x47')],_0x5ed6bd['subtractUnit'])[_0x9aae('0x14')](_0x9aae('0x4b')),'endDate':moment()[_0x9aae('0x14')](_0x9aae('0x4b')),'type':_0x9aae('0x4c'),'output':_0x5ed6bd['output'],'name':_0x5ed6bd['name']};if(!_[_0x9aae('0x46')](_0x5ed6bd[_0x9aae('0x4d')])){logger[_0x9aae('0xf')](_0x9aae('0x4e'),_0x5ed6bd['DefaultReportId']);return analyticDefaultReportController[_0x9aae('0x4f')]({'id':_0x5ed6bd[_0x9aae('0x4d')]},_0x227e32)[_0x9aae('0xd')](handleResult(_0x5ed6bd))['catch'](handleError());}if(!_[_0x9aae('0x46')](_0x5ed6bd[_0x9aae('0x50')])){logger['info'](_0x9aae('0x51'),_0x5ed6bd['CustomReportId']);return analyticCustomReportController[_0x9aae('0x4f')]({'id':_0x5ed6bd[_0x9aae('0x50')]},_0x227e32)[_0x9aae('0xd')](handleResult(_0x5ed6bd))[_0x9aae('0xe')](handleError());}}catch(_0x208651){logger[_0x9aae('0x2e')](JSON[_0x9aae('0x32')](_0x208651));}return logger['info'](_0x9aae('0x52'));};}function getJobs(_0x392a5e){var _0x1a143c={};if(_0x392a5e){_0x1a143c['id']=_0x392a5e;}return db[_0x9aae('0x53')][_0x9aae('0x54')]({'where':_0x1a143c,'include':[{'model':db[_0x9aae('0x12')],'attributes':['id',_0x9aae('0x55'),_0x9aae('0x11')],'include':[{'model':db['MailServerOut'],'as':_0x9aae('0x16'),'include':[{'model':db[_0x9aae('0x56')],'as':_0x9aae('0x56')}]}]}]})[_0x9aae('0xd')](function(_0x1f6c25){var _0x317962=_[_0x9aae('0x57')](manager[_0x9aae('0x58')]);var _0x278d0a=_[_0x9aae('0x59')](_0x1f6c25,function(_0x34c10c){return _0x34c10c['id'][_0x9aae('0x5a')]();});var _0x1162a9=_['keyBy'](_0x1f6c25,function(_0x48d91c){return _0x48d91c['id'][_0x9aae('0x5a')]();});var _0x4d9ef8=_0x392a5e?_0x278d0a:_[_0x9aae('0x5b')](_0x278d0a,_0x317962);var _0x3aa17a=_['intersection'](_0x278d0a,_0x317962);var _0x293ec6=_[_0x9aae('0x5b')](_0x317962,_0x278d0a);var _0x36a729;var _0x2911d9;for(_0x36a729=0x0;_0x36a729<_0x293ec6[_0x9aae('0x5c')]&&!_0x392a5e;_0x36a729+=0x1){_0x2911d9=_0x293ec6[_0x36a729][_0x9aae('0x5a')]();if(manager[_0x9aae('0x5d')](_0x2911d9)){manager[_0x9aae('0x3d')](_0x2911d9);manager['deleteJob'](_0x2911d9);logger[_0x9aae('0xf')](_0x9aae('0x5e'),_0x2911d9);}}logger[_0x9aae('0xf')](_0x9aae('0x5f'),JSON['stringify'](_0x4d9ef8));for(_0x36a729=0x0;_0x36a729<_0x4d9ef8[_0x9aae('0x5c')];_0x36a729+=0x1){_0x2911d9=_0x4d9ef8[_0x36a729][_0x9aae('0x5a')]();if(_0x392a5e){logger[_0x9aae('0xf')](JSON[_0x9aae('0x32')](_0x1162a9[_0x2911d9]));BPromise[_0x9aae('0x60')]()[_0x9aae('0xd')](handleJob(_0x1162a9[_0x2911d9]));logger[_0x9aae('0xf')](_0x9aae('0x61'),_0x1162a9[_0x2911d9][_0x9aae('0x55')],_0x1162a9[_0x2911d9][_0x9aae('0x62')]);}else if(_0x1162a9[_0x2911d9][_0x9aae('0x62')]&&_0x1162a9[_0x2911d9][_0x9aae('0x63')]&&moment()[_0x9aae('0x64')](_0x1162a9[_0x2911d9][_0x9aae('0x65')],_0x1162a9[_0x2911d9]['endAt'])){manager['add'](_0x2911d9,_0x1162a9[_0x2911d9][_0x9aae('0x62')],handleJob(_0x1162a9[_0x2911d9]));manager[_0x9aae('0x66')](_0x2911d9);logger[_0x9aae('0xf')](_0x9aae('0x67'),_0x1162a9[_0x2911d9][_0x9aae('0x55')],_0x1162a9[_0x2911d9][_0x9aae('0x62')]);}else if(manager[_0x9aae('0x5d')](_0x2911d9)){manager[_0x9aae('0x3d')](_0x2911d9);manager['deleteJob'](_0x2911d9);logger['info'](_0x9aae('0x68'),_0x1162a9[_0x2911d9][_0x9aae('0x55')],_0x1162a9[_0x2911d9]['cron']);}}for(_0x36a729=0x0,_0x2911d9;_0x36a729<_0x3aa17a['length']&&!_0x392a5e;_0x36a729+=0x1){_0x2911d9=_0x3aa17a[_0x36a729][_0x9aae('0x5a')]();if(manager[_0x9aae('0x5d')](_0x2911d9)){if(_0x1162a9[_0x2911d9][_0x9aae('0x62')]&&_0x1162a9[_0x2911d9]['active']&&moment()[_0x9aae('0x64')](_0x1162a9[_0x2911d9]['startAt'],_0x1162a9[_0x2911d9][_0x9aae('0x69')])){manager[_0x9aae('0x6a')](_0x2911d9,_0x1162a9[_0x2911d9][_0x9aae('0x62')],handleJob(_0x1162a9[_0x2911d9]));logger[_0x9aae('0xf')](_0x9aae('0x6b'),_0x1162a9[_0x2911d9][_0x9aae('0x55')],_0x1162a9[_0x2911d9][_0x9aae('0x62')]);}else{manager[_0x9aae('0x3d')](_0x2911d9);manager['deleteJob'](_0x2911d9);logger[_0x9aae('0xf')](_0x9aae('0x68'),_0x1162a9[_0x2911d9][_0x9aae('0x55')],_0x1162a9[_0x2911d9][_0x9aae('0x62')]);}}}})[_0x9aae('0xe')](function(_0xb4c8bf){logger[_0x9aae('0x2e')](JSON[_0x9aae('0x32')](_0xb4c8bf));});}exports[_0x9aae('0x6c')]=function(_0x4a3e4b){return getJobs(_0x4a3e4b);};exports['start']=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file