Built motion from commit 5293bb2a.|2.6.30
[motion2.git] / server / config / schedule / index.js
index 1910748..975494a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6cf4=['no\x20report\x20id','Schedule','findAll','CloudProvider','keys','map','toString','difference','intersection','length','exists','deleteJob','resolve','run\x20job','cron','isBetween','startAt','add','start','add\x20cron','stop\x20cron','active','endAt','update','update\x20cron','run','path','lodash','moment','cron-job-manager','jayson/promise','bluebird','schedule','../../mysqldb','retry','client','http','number','AnalyticExtractedReport','findOne','then','catch','error','info','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','format','\x22%s\x22\x20<%s>','name','Smtp','user','Report\x20%s\x20last\x20%s\x20%s','subtractNumber','subtractUnit','join','savename','%s.%s','basename','extname','zip','existsSync','attachments','message','text','Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a','stringify','status','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','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','[handleSendEmail]\x20Unrecognized\x20status:','request','SendMail','error\x20mail','email\x20sent','case\x20loading','currentAttempt','retryOptions','retries','job','data','stop','still\x20loading','case\x20completed','operation','case\x20empty','case\x20failed','entity','dataValues','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','sendMail','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit\x20null\x20or\x20undefined','YYYY-MM-DD\x20HH:mm:ss','scheduled','DefaultReportId','exec\x20defaul\x20report\x20id:%s','runReport','CustomReportId','exec\x20custom\x20report\x20id:%s'];(function(_0x1e4f2d,_0x22e2bb){var _0xd05ce5=function(_0x4c7b43){while(--_0x4c7b43){_0x1e4f2d['push'](_0x1e4f2d['shift']());}};_0xd05ce5(++_0x22e2bb);}(_0x6cf4,0x87));var _0x46cf=function(_0x9be28f,_0x231334){_0x9be28f=_0x9be28f-0x0;var _0xa9f52d=_0x6cf4[_0x9be28f];return _0xa9f52d;};'use strict';var fs=require('fs');var util=require('util');var path=require(_0x46cf('0x0'));var _=require(_0x46cf('0x1'));var moment=require(_0x46cf('0x2'));var CronJobManager=require(_0x46cf('0x3'));var jayson=require(_0x46cf('0x4'));var BPromise=require(_0x46cf('0x5'));var logger=require('../logger')(_0x46cf('0x6'));var db=require(_0x46cf('0x7'))['db'];const retry=require(_0x46cf('0x8'));var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require('../../api/analyticDefaultReport/analyticDefaultReport.controller');var client=jayson[_0x46cf('0x9')][_0x46cf('0xa')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x4c1d20){const _0x754d3f={};if(typeof _0x4c1d20===_0x46cf('0xb')){_0x754d3f['id']=_0x4c1d20;}return db[_0x46cf('0xc')][_0x46cf('0xd')]({'where':_0x754d3f})[_0x46cf('0xe')](function(_0x55b5f9){return _0x55b5f9;})[_0x46cf('0xf')](function(_0x3b43cf){logger[_0x46cf('0x10')](_0x3b43cf);});}function handleSendEmail(_0x194610,_0x5d5775){logger[_0x46cf('0x11')](_0x46cf('0x12'),_0x194610[_0x46cf('0x13')]);var _0x476081=!![];var _0x1f8dad=_0x194610[_0x46cf('0x14')]['getSmtpOptions']();var _0x3960d4={'account':_0x1f8dad,'message':{'from':util[_0x46cf('0x15')](_0x46cf('0x16'),_0x194610[_0x46cf('0x14')][_0x46cf('0x17')],_0x194610[_0x46cf('0x14')]['email']||_0x194610[_0x46cf('0x14')][_0x46cf('0x18')][_0x46cf('0x19')]),'to':_0x194610[_0x46cf('0x13')],'cc':_0x194610['cc'],'bcc':_0x194610['bcc'],'subject':util[_0x46cf('0x15')](_0x46cf('0x1a'),_0x5d5775[_0x46cf('0x17')],_0x194610[_0x46cf('0x1b')],_0x194610[_0x46cf('0x1c')])}};var _0x5b1d06=path[_0x46cf('0x1d')](__dirname,'../../files/reports');var _0x11645e=_0x5d5775[_0x46cf('0x1e')];var _0x33647c=util[_0x46cf('0x15')](_0x46cf('0x1f'),path[_0x46cf('0x20')](_0x5d5775[_0x46cf('0x1e')],path[_0x46cf('0x21')](_0x5d5775[_0x46cf('0x1e')])),_0x46cf('0x22'));var _0x56f8e1=path[_0x46cf('0x1d')](_0x5b1d06,_0x11645e);var _0x52bb73=path['join'](_0x5b1d06,_0x33647c);if(fs[_0x46cf('0x23')](_0x56f8e1)){_0x5d5775['status']='Sent';_0x3960d4['message'][_0x46cf('0x24')]=[{'filename':_0x11645e,'path':_0x56f8e1}];_0x3960d4[_0x46cf('0x25')][_0x46cf('0x26')]=util['format'](_0x46cf('0x27'),JSON[_0x46cf('0x28')](_0x5d5775,null,0x2));}else if(fs['existsSync'](_0x52bb73)){_0x5d5775[_0x46cf('0x29')]=_0x46cf('0x2a');_0x3960d4[_0x46cf('0x25')][_0x46cf('0x24')]=[{'filename':_0x33647c,'path':_0x52bb73}];}else{if(_0x5d5775['status']===_0x46cf('0x2b')){_0x3960d4[_0x46cf('0x25')][_0x46cf('0x26')]=_0x46cf('0x2c');if(!_0x194610[_0x46cf('0x2d')]){_0x476081=![];logger[_0x46cf('0x11')](_0x46cf('0x2e'));}}else if(_0x5d5775[_0x46cf('0x29')]==='Loading'){_0x3960d4['message'][_0x46cf('0x26')]=_0x46cf('0x2f');}else if(_0x5d5775[_0x46cf('0x29')]===_0x46cf('0x30')){_0x3960d4[_0x46cf('0x25')]['text']=_0x46cf('0x31');}else if(_0x5d5775[_0x46cf('0x29')]==='Failed'){_0x3960d4[_0x46cf('0x25')]['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[_0x46cf('0x10')](_0x46cf('0x32'),_0x5d5775[_0x46cf('0x29')]);}}if(_0x476081){return client[_0x46cf('0x33')](_0x46cf('0x34'),_0x3960d4)['then'](function(_0xb6a3fe){if(_0xb6a3fe[_0x46cf('0x10')]){return logger[_0x46cf('0x10')](_0x46cf('0x35'),JSON[_0x46cf('0x28')](_0xb6a3fe));}return logger[_0x46cf('0x11')](_0x46cf('0x36'));})[_0x46cf('0xf')](function(_0x399178){return logger[_0x46cf('0x10')](_0x46cf('0x35'),JSON[_0x46cf('0x28')](_0x399178));});}}function handleError(){return function(_0x50c2a7){return logger[_0x46cf('0x10')](JSON[_0x46cf('0x28')](_0x50c2a7));};}function loading(_0x84656){logger[_0x46cf('0x11')](_0x46cf('0x37'));if(_0x84656[_0x46cf('0x38')]===_0x84656[_0x46cf('0x39')][_0x46cf('0x3a')]){handleSendEmail(_0x84656[_0x46cf('0x3b')],_0x84656[_0x46cf('0x3c')]);_0x84656['operation'][_0x46cf('0x3d')]();}else{_0x84656['operation'][_0x46cf('0x8')](_0x46cf('0x3e'));}}function completed(_0x141fcc){logger[_0x46cf('0x11')](_0x46cf('0x3f'));handleSendEmail(_0x141fcc[_0x46cf('0x3b')],_0x141fcc[_0x46cf('0x3c')]);_0x141fcc[_0x46cf('0x40')][_0x46cf('0x3d')]();}function empty(_0xfa6ad0){logger['info'](_0x46cf('0x41'));handleSendEmail(_0xfa6ad0['job'],_0xfa6ad0['data']);_0xfa6ad0['operation'][_0x46cf('0x3d')]();}function failed(_0xd7d891){logger[_0x46cf('0x11')](_0x46cf('0x42'));handleSendEmail(_0xd7d891[_0x46cf('0x3b')],_0xd7d891[_0x46cf('0x3c')]);_0xd7d891[_0x46cf('0x40')]['stop']();}function urecognized(_0x2b097c){logger['error']('Unrecognized\x20status:',_0x2b097c[_0x46cf('0x43')][_0x46cf('0x44')][_0x46cf('0x29')]);_0x2b097c[_0x46cf('0x40')][_0x46cf('0x3d')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x2ca769,_0x362294){const _0x1752ee={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x3f9d6e=retry[_0x46cf('0x40')](_0x1752ee);_0x3f9d6e['attempt'](_0x39eb3a=>{logger[_0x46cf('0x11')](_0x46cf('0x45')+_0x2ca769['id']+_0x46cf('0x46')+_0x39eb3a);try{getReportData(_0x362294['id'])['then'](function(_0x386cb1){_0x362294=_0x386cb1;logger[_0x46cf('0x11')](_0x46cf('0x47'),_0x386cb1[_0x46cf('0x44')][_0x46cf('0x29')]);if(!reportStatusStrategies[_0x386cb1['dataValues'][_0x46cf('0x29')]]){logger[_0x46cf('0x10')](_0x46cf('0x47'),_0x386cb1[_0x46cf('0x44')][_0x46cf('0x29')]);_0x3f9d6e['retry']();}reportStatusStrategies[_0x386cb1[_0x46cf('0x44')]['status']]({'operation':_0x3f9d6e,'currentAttempt':_0x39eb3a,'retryOptions':_0x1752ee,'job':_0x2ca769,'data':_0x362294,'entity':_0x386cb1});});}catch(_0x312752){_0x3f9d6e[_0x46cf('0x8')](_0x312752);}});}function handleResult(_0x4f8c51){return function(_0x433305){if(_0x4f8c51[_0x46cf('0x48')]&&_0x4f8c51[_0x46cf('0x14')]&&_0x4f8c51[_0x46cf('0x14')][_0x46cf('0x18')]&&!_[_0x46cf('0x49')](_0x4f8c51[_0x46cf('0x13')])){retryer(_0x4f8c51,_0x433305);}};}function handleJob(_0x5971ae){return function(){try{if(_[_0x46cf('0x49')](_0x5971ae[_0x46cf('0x1b')])){return logger[_0x46cf('0x11')](_0x46cf('0x4a'));}if(_[_0x46cf('0x49')](_0x5971ae[_0x46cf('0x1c')])){return logger[_0x46cf('0x11')](_0x46cf('0x4b'));}var _0x2bff5d={'startDate':moment()['subtract'](_0x5971ae[_0x46cf('0x1b')],_0x5971ae[_0x46cf('0x1c')])[_0x46cf('0x15')](_0x46cf('0x4c')),'endDate':moment()[_0x46cf('0x15')](_0x46cf('0x4c')),'type':_0x46cf('0x4d'),'output':_0x5971ae['output'],'name':_0x5971ae[_0x46cf('0x17')]};if(!_[_0x46cf('0x49')](_0x5971ae[_0x46cf('0x4e')])){logger['info'](_0x46cf('0x4f'),_0x5971ae[_0x46cf('0x4e')]);return analyticDefaultReportController[_0x46cf('0x50')]({'id':_0x5971ae[_0x46cf('0x4e')]},_0x2bff5d)[_0x46cf('0xe')](handleResult(_0x5971ae))[_0x46cf('0xf')](handleError());}if(!_[_0x46cf('0x49')](_0x5971ae[_0x46cf('0x51')])){logger[_0x46cf('0x11')](_0x46cf('0x52'),_0x5971ae[_0x46cf('0x51')]);return analyticCustomReportController[_0x46cf('0x50')]({'id':_0x5971ae[_0x46cf('0x51')]},_0x2bff5d)[_0x46cf('0xe')](handleResult(_0x5971ae))['catch'](handleError());}}catch(_0x5e5bac){logger[_0x46cf('0x10')](JSON['stringify'](_0x5e5bac));}return logger[_0x46cf('0x11')](_0x46cf('0x53'));};}function getJobs(_0x2eca2e){var _0x3d2057={};if(_0x2eca2e){_0x3d2057['id']=_0x2eca2e;}return db[_0x46cf('0x54')][_0x46cf('0x55')]({'where':_0x3d2057,'include':[{'model':db[_0x46cf('0x14')],'attributes':['id',_0x46cf('0x17'),_0x46cf('0x13')],'include':[{'model':db['MailServerOut'],'as':'Smtp','include':[{'model':db[_0x46cf('0x56')],'as':_0x46cf('0x56')}]}]}]})['then'](function(_0x5c3675){var _0x36d31e=_[_0x46cf('0x57')](manager['jobs']);var _0x17097e=_[_0x46cf('0x58')](_0x5c3675,function(_0xf87d20){return _0xf87d20['id'][_0x46cf('0x59')]();});var _0x16f392=_['keyBy'](_0x5c3675,function(_0x22ac68){return _0x22ac68['id'][_0x46cf('0x59')]();});var _0xdbd370=_0x2eca2e?_0x17097e:_[_0x46cf('0x5a')](_0x17097e,_0x36d31e);var _0x27091b=_[_0x46cf('0x5b')](_0x17097e,_0x36d31e);var _0x1fd03b=_['difference'](_0x36d31e,_0x17097e);var _0x2007d1;var _0xb7bfaa;for(_0x2007d1=0x0;_0x2007d1<_0x1fd03b[_0x46cf('0x5c')]&&!_0x2eca2e;_0x2007d1+=0x1){_0xb7bfaa=_0x1fd03b[_0x2007d1]['toString']();if(manager[_0x46cf('0x5d')](_0xb7bfaa)){manager[_0x46cf('0x3d')](_0xb7bfaa);manager[_0x46cf('0x5e')](_0xb7bfaa);logger['info']('delete\x20cron',_0xb7bfaa);}}logger[_0x46cf('0x11')]('toRun',JSON['stringify'](_0xdbd370));for(_0x2007d1=0x0;_0x2007d1<_0xdbd370['length'];_0x2007d1+=0x1){_0xb7bfaa=_0xdbd370[_0x2007d1][_0x46cf('0x59')]();if(_0x2eca2e){logger[_0x46cf('0x11')](JSON[_0x46cf('0x28')](_0x16f392[_0xb7bfaa]));BPromise[_0x46cf('0x5f')]()[_0x46cf('0xe')](handleJob(_0x16f392[_0xb7bfaa]));logger[_0x46cf('0x11')](_0x46cf('0x60'),_0x16f392[_0xb7bfaa]['name'],_0x16f392[_0xb7bfaa]['cron']);}else if(_0x16f392[_0xb7bfaa][_0x46cf('0x61')]&&_0x16f392[_0xb7bfaa]['active']&&moment()[_0x46cf('0x62')](_0x16f392[_0xb7bfaa][_0x46cf('0x63')],_0x16f392[_0xb7bfaa]['endAt'])){manager[_0x46cf('0x64')](_0xb7bfaa,_0x16f392[_0xb7bfaa]['cron'],handleJob(_0x16f392[_0xb7bfaa]));manager[_0x46cf('0x65')](_0xb7bfaa);logger[_0x46cf('0x11')](_0x46cf('0x66'),_0x16f392[_0xb7bfaa][_0x46cf('0x17')],_0x16f392[_0xb7bfaa][_0x46cf('0x61')]);}else if(manager[_0x46cf('0x5d')](_0xb7bfaa)){manager[_0x46cf('0x3d')](_0xb7bfaa);manager[_0x46cf('0x5e')](_0xb7bfaa);logger[_0x46cf('0x11')](_0x46cf('0x67'),_0x16f392[_0xb7bfaa][_0x46cf('0x17')],_0x16f392[_0xb7bfaa][_0x46cf('0x61')]);}}for(_0x2007d1=0x0,_0xb7bfaa;_0x2007d1<_0x27091b['length']&&!_0x2eca2e;_0x2007d1+=0x1){_0xb7bfaa=_0x27091b[_0x2007d1][_0x46cf('0x59')]();if(manager[_0x46cf('0x5d')](_0xb7bfaa)){if(_0x16f392[_0xb7bfaa][_0x46cf('0x61')]&&_0x16f392[_0xb7bfaa][_0x46cf('0x68')]&&moment()[_0x46cf('0x62')](_0x16f392[_0xb7bfaa][_0x46cf('0x63')],_0x16f392[_0xb7bfaa][_0x46cf('0x69')])){manager[_0x46cf('0x6a')](_0xb7bfaa,_0x16f392[_0xb7bfaa]['cron'],handleJob(_0x16f392[_0xb7bfaa]));logger[_0x46cf('0x11')](_0x46cf('0x6b'),_0x16f392[_0xb7bfaa][_0x46cf('0x17')],_0x16f392[_0xb7bfaa][_0x46cf('0x61')]);}else{manager['stop'](_0xb7bfaa);manager[_0x46cf('0x5e')](_0xb7bfaa);logger[_0x46cf('0x11')](_0x46cf('0x67'),_0x16f392[_0xb7bfaa][_0x46cf('0x17')],_0x16f392[_0xb7bfaa][_0x46cf('0x61')]);}}}})[_0x46cf('0xf')](function(_0x31ded8){logger[_0x46cf('0x10')](JSON['stringify'](_0x31ded8));});}exports[_0x46cf('0x6c')]=function(_0x4192cb){return getJobs(_0x4192cb);};exports[_0x46cf('0x65')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+var _0xefa1=['map','toString','keyBy','difference','intersection','length','exists','deleteJob','delete\x20cron','resolve','run\x20job','cron','active','isBetween','startAt','endAt','add','start','add\x20cron','update\x20cron','run','util','lodash','cron-job-manager','jayson/promise','bluebird','../logger','schedule','../../mysqldb','../../api/analyticCustomReport/analyticCustomReport.controller','client','http','number','AnalyticExtractedReport','then','catch','error','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','getSmtpOptions','format','\x22%s\x22\x20<%s>','Smtp','user','bcc','Report\x20%s\x20last\x20%s\x20%s','name','subtractNumber','subtractUnit','join','../../files/reports','savename','%s.%s','basename','extname','zip','status','message','attachments','text','Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a','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','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','info','email\x20sent','case\x20loading','currentAttempt','retries','data','stop','operation','retry','still\x20loading','case\x20completed','job','case\x20empty','case\x20failed','Unrecognized\x20status:','dataValues','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','sendMail','isNil','subtractNumber\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','DefaultReportId','runReport','CustomReportId','no\x20report\x20id','Schedule','MailServerOut','keys'];(function(_0x5436f3,_0x36b9b5){var _0x5214e2=function(_0x4d7937){while(--_0x4d7937){_0x5436f3['push'](_0x5436f3['shift']());}};_0x5214e2(++_0x36b9b5);}(_0xefa1,0x15f));var _0x1efa=function(_0x5411b6,_0x362c47){_0x5411b6=_0x5411b6-0x0;var _0x3bd81f=_0xefa1[_0x5411b6];return _0x3bd81f;};'use strict';var fs=require('fs');var util=require(_0x1efa('0x0'));var path=require('path');var _=require(_0x1efa('0x1'));var moment=require('moment');var CronJobManager=require(_0x1efa('0x2'));var jayson=require(_0x1efa('0x3'));var BPromise=require(_0x1efa('0x4'));var logger=require(_0x1efa('0x5'))(_0x1efa('0x6'));var db=require(_0x1efa('0x7'))['db'];const retry=require('retry');var analyticCustomReportController=require(_0x1efa('0x8'));var analyticDefaultReportController=require('../../api/analyticDefaultReport/analyticDefaultReport.controller');var client=jayson[_0x1efa('0x9')][_0x1efa('0xa')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x4a3f6f){const _0x3f79a9={};if(typeof _0x4a3f6f===_0x1efa('0xb')){_0x3f79a9['id']=_0x4a3f6f;}return db[_0x1efa('0xc')]['findOne']({'where':_0x3f79a9})[_0x1efa('0xd')](function(_0x484443){return _0x484443;})[_0x1efa('0xe')](function(_0x42548b){logger[_0x1efa('0xf')](_0x42548b);});}function handleSendEmail(_0x48f455,_0x95be72){logger['info'](_0x1efa('0x10'),_0x48f455[_0x1efa('0x11')]);var _0x54cb91=!![];var _0x2fab9e=_0x48f455[_0x1efa('0x12')][_0x1efa('0x13')]();var _0x4792b2={'account':_0x2fab9e,'message':{'from':util[_0x1efa('0x14')](_0x1efa('0x15'),_0x48f455[_0x1efa('0x12')]['name'],_0x48f455['MailAccount']['email']||_0x48f455[_0x1efa('0x12')][_0x1efa('0x16')][_0x1efa('0x17')]),'to':_0x48f455[_0x1efa('0x11')],'cc':_0x48f455['cc'],'bcc':_0x48f455[_0x1efa('0x18')],'subject':util[_0x1efa('0x14')](_0x1efa('0x19'),_0x95be72[_0x1efa('0x1a')],_0x48f455[_0x1efa('0x1b')],_0x48f455[_0x1efa('0x1c')])}};var _0x1d1ee9=path[_0x1efa('0x1d')](__dirname,_0x1efa('0x1e'));var _0x39c127=_0x95be72[_0x1efa('0x1f')];var _0x3026c8=util['format'](_0x1efa('0x20'),path[_0x1efa('0x21')](_0x95be72[_0x1efa('0x1f')],path[_0x1efa('0x22')](_0x95be72[_0x1efa('0x1f')])),_0x1efa('0x23'));var _0xb24a6b=path[_0x1efa('0x1d')](_0x1d1ee9,_0x39c127);var _0x482181=path[_0x1efa('0x1d')](_0x1d1ee9,_0x3026c8);if(fs['existsSync'](_0xb24a6b)){_0x95be72[_0x1efa('0x24')]='Sent';_0x4792b2[_0x1efa('0x25')][_0x1efa('0x26')]=[{'filename':_0x39c127,'path':_0xb24a6b}];_0x4792b2['message'][_0x1efa('0x27')]=util['format'](_0x1efa('0x28'),JSON[_0x1efa('0x29')](_0x95be72,null,0x2));}else if(fs[_0x1efa('0x2a')](_0x482181)){_0x95be72[_0x1efa('0x24')]=_0x1efa('0x2b');_0x4792b2[_0x1efa('0x25')][_0x1efa('0x26')]=[{'filename':_0x3026c8,'path':_0x482181}];}else{if(_0x95be72[_0x1efa('0x24')]===_0x1efa('0x2c')){_0x4792b2[_0x1efa('0x25')][_0x1efa('0x27')]=_0x1efa('0x2d');if(!_0x48f455[_0x1efa('0x2e')]){_0x54cb91=![];logger['info'](_0x1efa('0x2f'));}}else if(_0x95be72[_0x1efa('0x24')]===_0x1efa('0x30')){_0x4792b2[_0x1efa('0x25')][_0x1efa('0x27')]=_0x1efa('0x31');}else if(_0x95be72[_0x1efa('0x24')]===_0x1efa('0x32')){_0x4792b2['message'][_0x1efa('0x27')]=_0x1efa('0x33');}else if(_0x95be72['status']===_0x1efa('0x34')){_0x4792b2[_0x1efa('0x25')][_0x1efa('0x27')]=_0x1efa('0x35');}else{logger[_0x1efa('0xf')](_0x1efa('0x36'),_0x95be72['status']);}}if(_0x54cb91){return client[_0x1efa('0x37')](_0x1efa('0x38'),_0x4792b2)['then'](function(_0xc4656){if(_0xc4656['error']){return logger[_0x1efa('0xf')](_0x1efa('0x39'),JSON['stringify'](_0xc4656));}return logger[_0x1efa('0x3a')](_0x1efa('0x3b'));})[_0x1efa('0xe')](function(_0x1fca48){return logger[_0x1efa('0xf')](_0x1efa('0x39'),JSON[_0x1efa('0x29')](_0x1fca48));});}}function handleError(){return function(_0x245df2){return logger['error'](JSON[_0x1efa('0x29')](_0x245df2));};}function loading(_0x474119){logger[_0x1efa('0x3a')](_0x1efa('0x3c'));if(_0x474119[_0x1efa('0x3d')]===_0x474119['retryOptions'][_0x1efa('0x3e')]){handleSendEmail(_0x474119['job'],_0x474119[_0x1efa('0x3f')]);_0x474119['operation'][_0x1efa('0x40')]();}else{_0x474119[_0x1efa('0x41')][_0x1efa('0x42')](_0x1efa('0x43'));}}function completed(_0x16bb12){logger[_0x1efa('0x3a')](_0x1efa('0x44'));handleSendEmail(_0x16bb12[_0x1efa('0x45')],_0x16bb12[_0x1efa('0x3f')]);_0x16bb12[_0x1efa('0x41')][_0x1efa('0x40')]();}function empty(_0x3bb435){logger[_0x1efa('0x3a')](_0x1efa('0x46'));handleSendEmail(_0x3bb435[_0x1efa('0x45')],_0x3bb435[_0x1efa('0x3f')]);_0x3bb435[_0x1efa('0x41')][_0x1efa('0x40')]();}function failed(_0x45536f){logger[_0x1efa('0x3a')](_0x1efa('0x47'));handleSendEmail(_0x45536f[_0x1efa('0x45')],_0x45536f[_0x1efa('0x3f')]);_0x45536f[_0x1efa('0x41')][_0x1efa('0x40')]();}function urecognized(_0x13d0a9){logger[_0x1efa('0xf')](_0x1efa('0x48'),_0x13d0a9['entity'][_0x1efa('0x49')]['status']);_0x13d0a9[_0x1efa('0x41')][_0x1efa('0x40')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x2b231f,_0x44ab29){const _0x56863b={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x15276b=retry['operation'](_0x56863b);_0x15276b['attempt'](_0x2aa593=>{logger[_0x1efa('0x3a')](_0x1efa('0x4a')+_0x2b231f['id']+_0x1efa('0x4b')+_0x2aa593);try{getReportData(_0x44ab29['id'])[_0x1efa('0xd')](function(_0x3d57ea){_0x44ab29=_0x3d57ea;logger[_0x1efa('0x3a')](_0x1efa('0x4c'),_0x3d57ea[_0x1efa('0x49')][_0x1efa('0x24')]);if(!reportStatusStrategies[_0x3d57ea[_0x1efa('0x49')][_0x1efa('0x24')]]){logger[_0x1efa('0xf')](_0x1efa('0x4c'),_0x3d57ea[_0x1efa('0x49')][_0x1efa('0x24')]);_0x15276b['retry']();}reportStatusStrategies[_0x3d57ea['dataValues'][_0x1efa('0x24')]]({'operation':_0x15276b,'currentAttempt':_0x2aa593,'retryOptions':_0x56863b,'job':_0x2b231f,'data':_0x44ab29,'entity':_0x3d57ea});});}catch(_0x4e7aa4){_0x15276b['retry'](_0x4e7aa4);}});}function handleResult(_0x2423cf){return function(_0xcedb4e){if(_0x2423cf[_0x1efa('0x4d')]&&_0x2423cf[_0x1efa('0x12')]&&_0x2423cf[_0x1efa('0x12')][_0x1efa('0x16')]&&!_[_0x1efa('0x4e')](_0x2423cf['email'])){retryer(_0x2423cf,_0xcedb4e);}};}function handleJob(_0x426942){return function(){try{if(_[_0x1efa('0x4e')](_0x426942[_0x1efa('0x1b')])){return logger['info'](_0x1efa('0x4f'));}if(_[_0x1efa('0x4e')](_0x426942[_0x1efa('0x1c')])){return logger[_0x1efa('0x3a')]('subtractUnit\x20null\x20or\x20undefined');}var _0x3e4a0b={'startDate':moment()[_0x1efa('0x50')](_0x426942[_0x1efa('0x1b')],_0x426942['subtractUnit'])['format']('YYYY-MM-DD\x20HH:mm:ss'),'endDate':moment()['format'](_0x1efa('0x51')),'type':'scheduled','output':_0x426942['output'],'name':_0x426942[_0x1efa('0x1a')]};if(!_[_0x1efa('0x4e')](_0x426942[_0x1efa('0x52')])){logger[_0x1efa('0x3a')]('exec\x20defaul\x20report\x20id:%s',_0x426942[_0x1efa('0x52')]);return analyticDefaultReportController[_0x1efa('0x53')]({'id':_0x426942[_0x1efa('0x52')]},_0x3e4a0b)['then'](handleResult(_0x426942))[_0x1efa('0xe')](handleError());}if(!_[_0x1efa('0x4e')](_0x426942[_0x1efa('0x54')])){logger[_0x1efa('0x3a')]('exec\x20custom\x20report\x20id:%s',_0x426942[_0x1efa('0x54')]);return analyticCustomReportController[_0x1efa('0x53')]({'id':_0x426942[_0x1efa('0x54')]},_0x3e4a0b)[_0x1efa('0xd')](handleResult(_0x426942))['catch'](handleError());}}catch(_0x3edf27){logger[_0x1efa('0xf')](JSON[_0x1efa('0x29')](_0x3edf27));}return logger['info'](_0x1efa('0x55'));};}function getJobs(_0x2a8073){var _0xb85d29={};if(_0x2a8073){_0xb85d29['id']=_0x2a8073;}return db[_0x1efa('0x56')]['findAll']({'where':_0xb85d29,'include':[{'model':db[_0x1efa('0x12')],'attributes':['id',_0x1efa('0x1a'),_0x1efa('0x11')],'include':[{'model':db[_0x1efa('0x57')],'as':_0x1efa('0x16'),'include':[{'model':db['CloudProvider'],'as':'CloudProvider'}]}]}]})[_0x1efa('0xd')](function(_0x350e6c){var _0x2bafb2=_[_0x1efa('0x58')](manager['jobs']);var _0xcbbeb6=_[_0x1efa('0x59')](_0x350e6c,function(_0x59e395){return _0x59e395['id'][_0x1efa('0x5a')]();});var _0x43730b=_[_0x1efa('0x5b')](_0x350e6c,function(_0x596665){return _0x596665['id'][_0x1efa('0x5a')]();});var _0x1a328f=_0x2a8073?_0xcbbeb6:_[_0x1efa('0x5c')](_0xcbbeb6,_0x2bafb2);var _0x340df2=_[_0x1efa('0x5d')](_0xcbbeb6,_0x2bafb2);var _0x5a67fe=_[_0x1efa('0x5c')](_0x2bafb2,_0xcbbeb6);var _0x35265b;var _0x4267ce;for(_0x35265b=0x0;_0x35265b<_0x5a67fe[_0x1efa('0x5e')]&&!_0x2a8073;_0x35265b+=0x1){_0x4267ce=_0x5a67fe[_0x35265b][_0x1efa('0x5a')]();if(manager[_0x1efa('0x5f')](_0x4267ce)){manager[_0x1efa('0x40')](_0x4267ce);manager[_0x1efa('0x60')](_0x4267ce);logger[_0x1efa('0x3a')](_0x1efa('0x61'),_0x4267ce);}}logger[_0x1efa('0x3a')]('toRun',JSON[_0x1efa('0x29')](_0x1a328f));for(_0x35265b=0x0;_0x35265b<_0x1a328f[_0x1efa('0x5e')];_0x35265b+=0x1){_0x4267ce=_0x1a328f[_0x35265b][_0x1efa('0x5a')]();if(_0x2a8073){logger[_0x1efa('0x3a')](JSON[_0x1efa('0x29')](_0x43730b[_0x4267ce]));BPromise[_0x1efa('0x62')]()[_0x1efa('0xd')](handleJob(_0x43730b[_0x4267ce]));logger[_0x1efa('0x3a')](_0x1efa('0x63'),_0x43730b[_0x4267ce]['name'],_0x43730b[_0x4267ce][_0x1efa('0x64')]);}else if(_0x43730b[_0x4267ce][_0x1efa('0x64')]&&_0x43730b[_0x4267ce][_0x1efa('0x65')]&&moment()[_0x1efa('0x66')](_0x43730b[_0x4267ce][_0x1efa('0x67')],_0x43730b[_0x4267ce][_0x1efa('0x68')])){manager[_0x1efa('0x69')](_0x4267ce,_0x43730b[_0x4267ce][_0x1efa('0x64')],handleJob(_0x43730b[_0x4267ce]));manager[_0x1efa('0x6a')](_0x4267ce);logger[_0x1efa('0x3a')](_0x1efa('0x6b'),_0x43730b[_0x4267ce][_0x1efa('0x1a')],_0x43730b[_0x4267ce][_0x1efa('0x64')]);}else if(manager['exists'](_0x4267ce)){manager[_0x1efa('0x40')](_0x4267ce);manager[_0x1efa('0x60')](_0x4267ce);logger['info']('stop\x20cron',_0x43730b[_0x4267ce][_0x1efa('0x1a')],_0x43730b[_0x4267ce][_0x1efa('0x64')]);}}for(_0x35265b=0x0,_0x4267ce;_0x35265b<_0x340df2[_0x1efa('0x5e')]&&!_0x2a8073;_0x35265b+=0x1){_0x4267ce=_0x340df2[_0x35265b][_0x1efa('0x5a')]();if(manager[_0x1efa('0x5f')](_0x4267ce)){if(_0x43730b[_0x4267ce][_0x1efa('0x64')]&&_0x43730b[_0x4267ce][_0x1efa('0x65')]&&moment()['isBetween'](_0x43730b[_0x4267ce][_0x1efa('0x67')],_0x43730b[_0x4267ce][_0x1efa('0x68')])){manager['update'](_0x4267ce,_0x43730b[_0x4267ce][_0x1efa('0x64')],handleJob(_0x43730b[_0x4267ce]));logger[_0x1efa('0x3a')](_0x1efa('0x6c'),_0x43730b[_0x4267ce][_0x1efa('0x1a')],_0x43730b[_0x4267ce]['cron']);}else{manager[_0x1efa('0x40')](_0x4267ce);manager['deleteJob'](_0x4267ce);logger[_0x1efa('0x3a')]('stop\x20cron',_0x43730b[_0x4267ce][_0x1efa('0x1a')],_0x43730b[_0x4267ce][_0x1efa('0x64')]);}}}})[_0x1efa('0xe')](function(_0x44574d){logger[_0x1efa('0xf')](JSON['stringify'](_0x44574d));});}exports[_0x1efa('0x6d')]=function(_0x264245){return getJobs(_0x264245);};exports[_0x1efa('0x6a')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file