Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / config / schedule / index.js
index 3dd5d36..33cacbf 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe602=['\x22%s\x22\x20<%s>','MailAccount','user','bcc','format','Report\x20%s\x20last\x20%s\x20%s','subtractNumber','subtractUnit','join','%s.%s','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','info','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','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','catch','case\x20loading','currentAttempt','retries','operation','stop','still\x20loading','case\x20completed','job','case\x20empty','data','case\x20failed','Unrecognized\x20status:','dataValues','attempt','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','sendMail','Smtp','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','scheduled','output','name','exec\x20defaul\x20report\x20id:%s','DefaultReportId','CustomReportId','exec\x20custom\x20report\x20id:%s','no\x20report\x20id','Schedule','findAll','MailServerOut','CloudProvider','keys','toString','keyBy','intersection','difference','length','exists','delete\x20cron','toRun','resolve','run\x20job','cron','active','isBetween','startAt','endAt','add','start','deleteJob','update','stop\x20cron','run','util','path','lodash','cron-job-manager','jayson/promise','bluebird','../logger','schedule','../../mysqldb','retry','../../api/analyticDefaultReport/analyticDefaultReport.controller','client','http','number','AnalyticExtractedReport','findOne','then','error','email','getSmtpOptions'];(function(_0x38f9ea,_0x1db6da){var _0x141d0d=function(_0x3422cd){while(--_0x3422cd){_0x38f9ea['push'](_0x38f9ea['shift']());}};_0x141d0d(++_0x1db6da);}(_0xe602,0x1b4));var _0x2e60=function(_0x466542,_0x584cc6){_0x466542=_0x466542-0x0;var _0x3b13c2=_0xe602[_0x466542];return _0x3b13c2;};'use strict';var fs=require('fs');var util=require(_0x2e60('0x0'));var path=require(_0x2e60('0x1'));var _=require(_0x2e60('0x2'));var moment=require('moment');var CronJobManager=require(_0x2e60('0x3'));var jayson=require(_0x2e60('0x4'));var BPromise=require(_0x2e60('0x5'));var logger=require(_0x2e60('0x6'))(_0x2e60('0x7'));var db=require(_0x2e60('0x8'))['db'];const retry=require(_0x2e60('0x9'));var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require(_0x2e60('0xa'));var client=jayson[_0x2e60('0xb')][_0x2e60('0xc')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x286e3d){const _0x5b90fb={};if(typeof _0x286e3d===_0x2e60('0xd')){_0x5b90fb['id']=_0x286e3d;}return db[_0x2e60('0xe')][_0x2e60('0xf')]({'where':_0x5b90fb})[_0x2e60('0x10')](function(_0x4d4881){return _0x4d4881;})['catch'](function(_0x1fd653){logger[_0x2e60('0x11')](_0x1fd653);});}function handleSendEmail(_0x1b3257,_0x4b87fb){logger['info']('Try\x20to\x20send\x20a\x20mail\x20to',_0x1b3257[_0x2e60('0x12')]);var _0x4fbf01=!![];var _0x33a552=_0x1b3257['MailAccount'][_0x2e60('0x13')]();var _0x95dbe5={'account':_0x33a552,'message':{'from':util['format'](_0x2e60('0x14'),_0x1b3257[_0x2e60('0x15')]['name'],_0x1b3257['MailAccount']['email']||_0x1b3257[_0x2e60('0x15')]['Smtp'][_0x2e60('0x16')]),'to':_0x1b3257[_0x2e60('0x12')],'cc':_0x1b3257['cc'],'bcc':_0x1b3257[_0x2e60('0x17')],'subject':util[_0x2e60('0x18')](_0x2e60('0x19'),_0x4b87fb['name'],_0x1b3257[_0x2e60('0x1a')],_0x1b3257[_0x2e60('0x1b')])}};var _0x1dd6a5=path[_0x2e60('0x1c')](__dirname,'../../files/reports');var _0x4c401f=_0x4b87fb['savename'];var _0x1a7b24=util[_0x2e60('0x18')](_0x2e60('0x1d'),path['basename'](_0x4b87fb[_0x2e60('0x1e')],path[_0x2e60('0x1f')](_0x4b87fb['savename'])),_0x2e60('0x20'));var _0x4c86c4=path[_0x2e60('0x1c')](_0x1dd6a5,_0x4c401f);var _0x36a8af=path[_0x2e60('0x1c')](_0x1dd6a5,_0x1a7b24);if(fs[_0x2e60('0x21')](_0x4c86c4)){_0x4b87fb[_0x2e60('0x22')]=_0x2e60('0x23');_0x95dbe5[_0x2e60('0x24')][_0x2e60('0x25')]=[{'filename':_0x4c401f,'path':_0x4c86c4}];_0x95dbe5[_0x2e60('0x24')][_0x2e60('0x26')]=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[_0x2e60('0x27')](_0x4b87fb,null,0x2));}else if(fs[_0x2e60('0x21')](_0x36a8af)){_0x4b87fb[_0x2e60('0x22')]=_0x2e60('0x23');_0x95dbe5[_0x2e60('0x24')]['attachments']=[{'filename':_0x1a7b24,'path':_0x36a8af}];}else{if(_0x4b87fb['status']===_0x2e60('0x28')){_0x95dbe5['message'][_0x2e60('0x26')]=_0x2e60('0x29');if(!_0x1b3257[_0x2e60('0x2a')]){_0x4fbf01=![];logger[_0x2e60('0x2b')](_0x2e60('0x2c'));}}else if(_0x4b87fb[_0x2e60('0x22')]===_0x2e60('0x2d')){_0x95dbe5[_0x2e60('0x24')]['text']=_0x2e60('0x2e');}else if(_0x4b87fb[_0x2e60('0x22')]==='Completed'){_0x95dbe5[_0x2e60('0x24')][_0x2e60('0x26')]=_0x2e60('0x2f');}else if(_0x4b87fb[_0x2e60('0x22')]===_0x2e60('0x30')){_0x95dbe5['message'][_0x2e60('0x26')]=_0x2e60('0x31');}else{logger['error'](_0x2e60('0x32'),_0x4b87fb[_0x2e60('0x22')]);}}if(_0x4fbf01){return client[_0x2e60('0x33')](_0x2e60('0x34'),_0x95dbe5)['then'](function(_0x533ffd){if(_0x533ffd[_0x2e60('0x11')]){return logger[_0x2e60('0x11')](_0x2e60('0x35'),JSON[_0x2e60('0x27')](_0x533ffd));}return logger[_0x2e60('0x2b')](_0x2e60('0x36'));})[_0x2e60('0x37')](function(_0x10567f){return logger[_0x2e60('0x11')](_0x2e60('0x35'),JSON[_0x2e60('0x27')](_0x10567f));});}}function handleError(){return function(_0x27efac){return logger['error'](JSON['stringify'](_0x27efac));};}function loading(_0x33f2e9){logger[_0x2e60('0x2b')](_0x2e60('0x38'));if(_0x33f2e9[_0x2e60('0x39')]===_0x33f2e9['retryOptions'][_0x2e60('0x3a')]){handleSendEmail(_0x33f2e9['job'],_0x33f2e9['data']);_0x33f2e9[_0x2e60('0x3b')][_0x2e60('0x3c')]();}else{_0x33f2e9[_0x2e60('0x3b')][_0x2e60('0x9')](_0x2e60('0x3d'));}}function completed(_0x3611bb){logger[_0x2e60('0x2b')](_0x2e60('0x3e'));handleSendEmail(_0x3611bb[_0x2e60('0x3f')],_0x3611bb['data']);_0x3611bb[_0x2e60('0x3b')][_0x2e60('0x3c')]();}function empty(_0x41f20e){logger[_0x2e60('0x2b')](_0x2e60('0x40'));handleSendEmail(_0x41f20e[_0x2e60('0x3f')],_0x41f20e[_0x2e60('0x41')]);_0x41f20e[_0x2e60('0x3b')][_0x2e60('0x3c')]();}function failed(_0x2da624){logger['info'](_0x2e60('0x42'));handleSendEmail(_0x2da624[_0x2e60('0x3f')],_0x2da624['data']);_0x2da624[_0x2e60('0x3b')]['stop']();}function urecognized(_0x37f496){logger['error'](_0x2e60('0x43'),_0x37f496['entity'][_0x2e60('0x44')][_0x2e60('0x22')]);_0x37f496[_0x2e60('0x3b')][_0x2e60('0x3c')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x96f63d,_0x2c8e49){const _0x55e9c7={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x5b85f3=retry[_0x2e60('0x3b')](_0x55e9c7);_0x5b85f3[_0x2e60('0x45')](_0x5a7b75=>{logger[_0x2e60('0x2b')](_0x2e60('0x46')+_0x96f63d['id']+_0x2e60('0x47')+_0x5a7b75);try{getReportData(_0x2c8e49['id'])[_0x2e60('0x10')](function(_0x352d93){_0x2c8e49=_0x352d93;logger[_0x2e60('0x2b')](_0x2e60('0x48'),_0x352d93[_0x2e60('0x44')][_0x2e60('0x22')]);if(!reportStatusStrategies[_0x352d93[_0x2e60('0x44')][_0x2e60('0x22')]]){logger['error'](_0x2e60('0x48'),_0x352d93['dataValues'][_0x2e60('0x22')]);_0x5b85f3[_0x2e60('0x9')]();}reportStatusStrategies[_0x352d93[_0x2e60('0x44')][_0x2e60('0x22')]]({'operation':_0x5b85f3,'currentAttempt':_0x5a7b75,'retryOptions':_0x55e9c7,'job':_0x96f63d,'data':_0x2c8e49,'entity':_0x352d93});});}catch(_0x430764){_0x5b85f3['retry'](_0x430764);}});}function handleResult(_0x484a40){return function(_0x1581b9){if(_0x484a40[_0x2e60('0x49')]&&_0x484a40[_0x2e60('0x15')]&&_0x484a40[_0x2e60('0x15')][_0x2e60('0x4a')]&&!_[_0x2e60('0x4b')](_0x484a40[_0x2e60('0x12')])){retryer(_0x484a40,_0x1581b9);}};}function handleJob(_0x17c208){return function(){try{if(_[_0x2e60('0x4b')](_0x17c208['subtractNumber'])){return logger[_0x2e60('0x2b')](_0x2e60('0x4c'));}if(_[_0x2e60('0x4b')](_0x17c208[_0x2e60('0x1b')])){return logger['info'](_0x2e60('0x4d'));}var _0x592533={'startDate':moment()[_0x2e60('0x4e')](_0x17c208['subtractNumber'],_0x17c208[_0x2e60('0x1b')])[_0x2e60('0x18')](_0x2e60('0x4f')),'endDate':moment()[_0x2e60('0x18')](_0x2e60('0x4f')),'type':_0x2e60('0x50'),'output':_0x17c208[_0x2e60('0x51')],'name':_0x17c208[_0x2e60('0x52')]};if(!_[_0x2e60('0x4b')](_0x17c208['DefaultReportId'])){logger[_0x2e60('0x2b')](_0x2e60('0x53'),_0x17c208[_0x2e60('0x54')]);return analyticDefaultReportController['runReport']({'id':_0x17c208[_0x2e60('0x54')]},_0x592533)['then'](handleResult(_0x17c208))[_0x2e60('0x37')](handleError());}if(!_[_0x2e60('0x4b')](_0x17c208[_0x2e60('0x55')])){logger['info'](_0x2e60('0x56'),_0x17c208['CustomReportId']);return analyticCustomReportController['runReport']({'id':_0x17c208[_0x2e60('0x55')]},_0x592533)[_0x2e60('0x10')](handleResult(_0x17c208))['catch'](handleError());}}catch(_0x911289){logger['error'](JSON['stringify'](_0x911289));}return logger[_0x2e60('0x2b')](_0x2e60('0x57'));};}function getJobs(_0x233c8f){var _0x35ffc2={};if(_0x233c8f){_0x35ffc2['id']=_0x233c8f;}return db[_0x2e60('0x58')][_0x2e60('0x59')]({'where':_0x35ffc2,'include':[{'model':db[_0x2e60('0x15')],'attributes':['id',_0x2e60('0x52'),_0x2e60('0x12')],'include':[{'model':db[_0x2e60('0x5a')],'as':_0x2e60('0x4a'),'include':[{'model':db[_0x2e60('0x5b')],'as':'CloudProvider'}]}]}]})[_0x2e60('0x10')](function(_0x234e8f){var _0x3c3c6c=_[_0x2e60('0x5c')](manager['jobs']);var _0x419f04=_['map'](_0x234e8f,function(_0x18dd64){return _0x18dd64['id'][_0x2e60('0x5d')]();});var _0x36e040=_[_0x2e60('0x5e')](_0x234e8f,function(_0x114b72){return _0x114b72['id'][_0x2e60('0x5d')]();});var _0x1cff1e=_0x233c8f?_0x419f04:_['difference'](_0x419f04,_0x3c3c6c);var _0x404058=_[_0x2e60('0x5f')](_0x419f04,_0x3c3c6c);var _0x38f659=_[_0x2e60('0x60')](_0x3c3c6c,_0x419f04);var _0x213fa5;var _0x78e355;for(_0x213fa5=0x0;_0x213fa5<_0x38f659[_0x2e60('0x61')]&&!_0x233c8f;_0x213fa5+=0x1){_0x78e355=_0x38f659[_0x213fa5][_0x2e60('0x5d')]();if(manager[_0x2e60('0x62')](_0x78e355)){manager['stop'](_0x78e355);manager['deleteJob'](_0x78e355);logger['info'](_0x2e60('0x63'),_0x78e355);}}logger[_0x2e60('0x2b')](_0x2e60('0x64'),JSON[_0x2e60('0x27')](_0x1cff1e));for(_0x213fa5=0x0;_0x213fa5<_0x1cff1e[_0x2e60('0x61')];_0x213fa5+=0x1){_0x78e355=_0x1cff1e[_0x213fa5][_0x2e60('0x5d')]();if(_0x233c8f){logger['info'](JSON[_0x2e60('0x27')](_0x36e040[_0x78e355]));BPromise[_0x2e60('0x65')]()['then'](handleJob(_0x36e040[_0x78e355]));logger[_0x2e60('0x2b')](_0x2e60('0x66'),_0x36e040[_0x78e355][_0x2e60('0x52')],_0x36e040[_0x78e355][_0x2e60('0x67')]);}else if(_0x36e040[_0x78e355]['cron']&&_0x36e040[_0x78e355][_0x2e60('0x68')]&&moment()[_0x2e60('0x69')](_0x36e040[_0x78e355][_0x2e60('0x6a')],_0x36e040[_0x78e355][_0x2e60('0x6b')])){manager[_0x2e60('0x6c')](_0x78e355,_0x36e040[_0x78e355][_0x2e60('0x67')],handleJob(_0x36e040[_0x78e355]));manager[_0x2e60('0x6d')](_0x78e355);logger[_0x2e60('0x2b')]('add\x20cron',_0x36e040[_0x78e355][_0x2e60('0x52')],_0x36e040[_0x78e355][_0x2e60('0x67')]);}else if(manager[_0x2e60('0x62')](_0x78e355)){manager['stop'](_0x78e355);manager[_0x2e60('0x6e')](_0x78e355);logger[_0x2e60('0x2b')]('stop\x20cron',_0x36e040[_0x78e355][_0x2e60('0x52')],_0x36e040[_0x78e355][_0x2e60('0x67')]);}}for(_0x213fa5=0x0,_0x78e355;_0x213fa5<_0x404058[_0x2e60('0x61')]&&!_0x233c8f;_0x213fa5+=0x1){_0x78e355=_0x404058[_0x213fa5][_0x2e60('0x5d')]();if(manager[_0x2e60('0x62')](_0x78e355)){if(_0x36e040[_0x78e355][_0x2e60('0x67')]&&_0x36e040[_0x78e355][_0x2e60('0x68')]&&moment()[_0x2e60('0x69')](_0x36e040[_0x78e355][_0x2e60('0x6a')],_0x36e040[_0x78e355][_0x2e60('0x6b')])){manager[_0x2e60('0x6f')](_0x78e355,_0x36e040[_0x78e355]['cron'],handleJob(_0x36e040[_0x78e355]));logger[_0x2e60('0x2b')]('update\x20cron',_0x36e040[_0x78e355]['name'],_0x36e040[_0x78e355][_0x2e60('0x67')]);}else{manager[_0x2e60('0x3c')](_0x78e355);manager[_0x2e60('0x6e')](_0x78e355);logger[_0x2e60('0x2b')](_0x2e60('0x70'),_0x36e040[_0x78e355][_0x2e60('0x52')],_0x36e040[_0x78e355]['cron']);}}}})[_0x2e60('0x37')](function(_0x357c21){logger[_0x2e60('0x11')](JSON[_0x2e60('0x27')](_0x357c21));});}exports[_0x2e60('0x71')]=function(_0x4a5e31){return getJobs(_0x4a5e31);};exports[_0x2e60('0x6d')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+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