Built motion from commit 4c281f94.|2.6.31
[motion2.git] / server / config / schedule / index.js
index a4c606c..36581df 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x07b3=['error\x20mail','stringify','currentAttempt','retryOptions','job','data','operation','stop','retry','still\x20loading','case\x20empty','case\x20failed','Unrecognized\x20status:','entity','attempt','\x20Attempt\x20#:','dataValues','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit\x20null\x20or\x20undefined','subtract','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','MailServerOut','CloudProvider','keys','jobs','map','toString','keyBy','difference','length','exists','delete\x20cron','run\x20job','cron','active','isBetween','startAt','endAt','add','deleteJob','stop\x20cron','update\x20cron','run','start','util','path','lodash','moment','jayson/promise','bluebird','schedule','../../mysqldb','client','http','then','catch','error','info','email','MailAccount','getSmtpOptions','format','name','Smtp','Report\x20%s\x20last\x20%s\x20%s','subtractNumber','subtractUnit','join','%s.%s','extname','savename','existsSync','status','Sent','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','Report\x20empty\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','sendIfEmpty','Loading','Completed','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','email\x20sent'];(function(_0x267ee1,_0x4cec20){var _0x2ad639=function(_0x3bf0cb){while(--_0x3bf0cb){_0x267ee1['push'](_0x267ee1['shift']());}};_0x2ad639(++_0x4cec20);}(_0x07b3,0x15c));var _0x307b=function(_0x3bca12,_0x3d262a){_0x3bca12=_0x3bca12-0x0;var _0x55b5b7=_0x07b3[_0x3bca12];return _0x55b5b7;};'use strict';var fs=require('fs');var util=require(_0x307b('0x0'));var path=require(_0x307b('0x1'));var _=require(_0x307b('0x2'));var moment=require(_0x307b('0x3'));var CronJobManager=require('cron-job-manager');var jayson=require(_0x307b('0x4'));var BPromise=require(_0x307b('0x5'));var logger=require('../logger')(_0x307b('0x6'));var db=require(_0x307b('0x7'))['db'];const retry=require('retry');var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require('../../api/analyticDefaultReport/analyticDefaultReport.controller');var client=jayson[_0x307b('0x8')][_0x307b('0x9')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x1974f3){const _0x3b01d1={};if(typeof _0x1974f3==='number'){_0x3b01d1['id']=_0x1974f3;}return db['AnalyticExtractedReport']['findOne']({'where':_0x3b01d1})[_0x307b('0xa')](function(_0x30b857){return _0x30b857;})[_0x307b('0xb')](function(_0x396cf6){logger[_0x307b('0xc')](_0x396cf6);});}function handleSendEmail(_0x52d423,_0x5f0c34){logger[_0x307b('0xd')]('Try\x20to\x20send\x20a\x20mail\x20to',_0x52d423[_0x307b('0xe')]);var _0x30d4ce=!![];var _0xd47f54=_0x52d423[_0x307b('0xf')][_0x307b('0x10')]();var _0xdc2104={'account':_0xd47f54,'message':{'from':util[_0x307b('0x11')]('\x22%s\x22\x20<%s>',_0x52d423[_0x307b('0xf')][_0x307b('0x12')],_0x52d423[_0x307b('0xf')][_0x307b('0xe')]||_0x52d423['MailAccount'][_0x307b('0x13')]['user']),'to':_0x52d423['email'],'cc':_0x52d423['cc'],'bcc':_0x52d423['bcc'],'subject':util[_0x307b('0x11')](_0x307b('0x14'),_0x5f0c34[_0x307b('0x12')],_0x52d423[_0x307b('0x15')],_0x52d423[_0x307b('0x16')])}};var _0x464fe3=path[_0x307b('0x17')](__dirname,'../../files/reports');var _0xc1d202=_0x5f0c34['savename'];var _0x29ee1c=util[_0x307b('0x11')](_0x307b('0x18'),path['basename'](_0x5f0c34['savename'],path[_0x307b('0x19')](_0x5f0c34[_0x307b('0x1a')])),'zip');var _0x1f2ab2=path[_0x307b('0x17')](_0x464fe3,_0xc1d202);var _0x2cae50=path[_0x307b('0x17')](_0x464fe3,_0x29ee1c);if(fs[_0x307b('0x1b')](_0x1f2ab2)){_0x5f0c34[_0x307b('0x1c')]=_0x307b('0x1d');_0xdc2104[_0x307b('0x1e')][_0x307b('0x1f')]=[{'filename':_0xc1d202,'path':_0x1f2ab2}];_0xdc2104[_0x307b('0x1e')][_0x307b('0x20')]=util[_0x307b('0x11')](_0x307b('0x21'),JSON['stringify'](_0x5f0c34,null,0x2));}else if(fs[_0x307b('0x1b')](_0x2cae50)){_0x5f0c34[_0x307b('0x1c')]=_0x307b('0x1d');_0xdc2104[_0x307b('0x1e')][_0x307b('0x1f')]=[{'filename':_0x29ee1c,'path':_0x2cae50}];}else{if(_0x5f0c34[_0x307b('0x1c')]==='Empty'){_0xdc2104['message']['text']=_0x307b('0x22');if(!_0x52d423[_0x307b('0x23')]){_0x30d4ce=![];logger[_0x307b('0xd')]('empty\x20file,\x20email\x20not\x20sent');}}else if(_0x5f0c34[_0x307b('0x1c')]===_0x307b('0x24')){_0xdc2104[_0x307b('0x1e')][_0x307b('0x20')]='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(_0x5f0c34[_0x307b('0x1c')]===_0x307b('0x25')){_0xdc2104['message'][_0x307b('0x20')]='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(_0x5f0c34[_0x307b('0x1c')]===_0x307b('0x26')){_0xdc2104['message'][_0x307b('0x20')]=_0x307b('0x27');}else{logger[_0x307b('0xc')](_0x307b('0x28'),_0x5f0c34['status']);}}if(_0x30d4ce){return client[_0x307b('0x29')](_0x307b('0x2a'),_0xdc2104)[_0x307b('0xa')](function(_0x13af2c){if(_0x13af2c[_0x307b('0xc')]){return logger[_0x307b('0xc')]('error\x20mail',JSON['stringify'](_0x13af2c));}return logger[_0x307b('0xd')](_0x307b('0x2b'));})[_0x307b('0xb')](function(_0x518989){return logger[_0x307b('0xc')](_0x307b('0x2c'),JSON[_0x307b('0x2d')](_0x518989));});}}function handleError(){return function(_0x3f96d1){return logger['error'](JSON[_0x307b('0x2d')](_0x3f96d1));};}function loading(_0x528f5d){logger['info']('case\x20loading');if(_0x528f5d[_0x307b('0x2e')]===_0x528f5d[_0x307b('0x2f')]['retries']){handleSendEmail(_0x528f5d[_0x307b('0x30')],_0x528f5d[_0x307b('0x31')]);_0x528f5d[_0x307b('0x32')][_0x307b('0x33')]();}else{_0x528f5d[_0x307b('0x32')][_0x307b('0x34')](_0x307b('0x35'));}}function completed(_0x5b7bd1){logger[_0x307b('0xd')]('case\x20completed');handleSendEmail(_0x5b7bd1[_0x307b('0x30')],_0x5b7bd1['data']);_0x5b7bd1[_0x307b('0x32')][_0x307b('0x33')]();}function empty(_0x5b3ad0){logger[_0x307b('0xd')](_0x307b('0x36'));handleSendEmail(_0x5b3ad0[_0x307b('0x30')],_0x5b3ad0[_0x307b('0x31')]);_0x5b3ad0['operation'][_0x307b('0x33')]();}function failed(_0x4aa06b){logger[_0x307b('0xd')](_0x307b('0x37'));handleSendEmail(_0x4aa06b[_0x307b('0x30')],_0x4aa06b[_0x307b('0x31')]);_0x4aa06b[_0x307b('0x32')]['stop']();}function urecognized(_0x83a9f6){logger[_0x307b('0xc')](_0x307b('0x38'),_0x83a9f6[_0x307b('0x39')]['dataValues'][_0x307b('0x1c')]);_0x83a9f6['operation']['stop']();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x57545f,_0x4d024b){const _0x2a8d11={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x4bf13b=retry[_0x307b('0x32')](_0x2a8d11);_0x4bf13b[_0x307b('0x3a')](_0x4c6357=>{logger[_0x307b('0xd')]('Job\x20ID\x20'+_0x57545f['id']+_0x307b('0x3b')+_0x4c6357);try{getReportData(_0x4d024b['id'])['then'](function(_0x31ae0a){_0x4d024b=_0x31ae0a;logger[_0x307b('0xd')]('report\x20status:',_0x31ae0a[_0x307b('0x3c')][_0x307b('0x1c')]);if(!reportStatusStrategies[_0x31ae0a[_0x307b('0x3c')]['status']]){logger['error']('report\x20status:',_0x31ae0a[_0x307b('0x3c')][_0x307b('0x1c')]);_0x4bf13b[_0x307b('0x34')]();}reportStatusStrategies[_0x31ae0a[_0x307b('0x3c')][_0x307b('0x1c')]]({'operation':_0x4bf13b,'currentAttempt':_0x4c6357,'retryOptions':_0x2a8d11,'job':_0x57545f,'data':_0x4d024b,'entity':_0x31ae0a});});}catch(_0x50840c){_0x4bf13b[_0x307b('0x34')](_0x50840c);}});}function handleResult(_0x18e59a){return function(_0x1f9d88){if(_0x18e59a['sendMail']&&_0x18e59a[_0x307b('0xf')]&&_0x18e59a[_0x307b('0xf')][_0x307b('0x13')]&&!_[_0x307b('0x3d')](_0x18e59a[_0x307b('0xe')])){retryer(_0x18e59a,_0x1f9d88);}};}function handleJob(_0x49ec1e){return function(){try{if(_[_0x307b('0x3d')](_0x49ec1e[_0x307b('0x15')])){return logger['info'](_0x307b('0x3e'));}if(_[_0x307b('0x3d')](_0x49ec1e['subtractUnit'])){return logger[_0x307b('0xd')](_0x307b('0x3f'));}var _0x1b7097={'startDate':moment()[_0x307b('0x40')](_0x49ec1e[_0x307b('0x15')],_0x49ec1e[_0x307b('0x16')])[_0x307b('0x11')](_0x307b('0x41')),'endDate':moment()[_0x307b('0x11')](_0x307b('0x41')),'type':_0x307b('0x42'),'output':_0x49ec1e['output'],'name':_0x49ec1e['name']};if(!_['isNil'](_0x49ec1e[_0x307b('0x43')])){logger[_0x307b('0xd')](_0x307b('0x44'),_0x49ec1e['DefaultReportId']);return analyticDefaultReportController[_0x307b('0x45')]({'id':_0x49ec1e[_0x307b('0x43')]},_0x1b7097)['then'](handleResult(_0x49ec1e))['catch'](handleError());}if(!_['isNil'](_0x49ec1e[_0x307b('0x46')])){logger[_0x307b('0xd')](_0x307b('0x47'),_0x49ec1e[_0x307b('0x46')]);return analyticCustomReportController[_0x307b('0x45')]({'id':_0x49ec1e['CustomReportId']},_0x1b7097)['then'](handleResult(_0x49ec1e))[_0x307b('0xb')](handleError());}}catch(_0x24840f){logger[_0x307b('0xc')](JSON['stringify'](_0x24840f));}return logger[_0x307b('0xd')](_0x307b('0x48'));};}function getJobs(_0x3b5e36){var _0x2ac97b={};if(_0x3b5e36){_0x2ac97b['id']=_0x3b5e36;}return db[_0x307b('0x49')][_0x307b('0x4a')]({'where':_0x2ac97b,'include':[{'model':db[_0x307b('0xf')],'attributes':['id',_0x307b('0x12'),_0x307b('0xe')],'include':[{'model':db[_0x307b('0x4b')],'as':'Smtp','include':[{'model':db[_0x307b('0x4c')],'as':_0x307b('0x4c')}]}]}]})[_0x307b('0xa')](function(_0x407c25){var _0x4a4ff4=_[_0x307b('0x4d')](manager[_0x307b('0x4e')]);var _0x57e57b=_[_0x307b('0x4f')](_0x407c25,function(_0x20e841){return _0x20e841['id'][_0x307b('0x50')]();});var _0x56328a=_[_0x307b('0x51')](_0x407c25,function(_0x110b02){return _0x110b02['id'][_0x307b('0x50')]();});var _0xaff446=_0x3b5e36?_0x57e57b:_[_0x307b('0x52')](_0x57e57b,_0x4a4ff4);var _0x28d2d3=_['intersection'](_0x57e57b,_0x4a4ff4);var _0x163b23=_[_0x307b('0x52')](_0x4a4ff4,_0x57e57b);var _0x169151;var _0x138598;for(_0x169151=0x0;_0x169151<_0x163b23[_0x307b('0x53')]&&!_0x3b5e36;_0x169151+=0x1){_0x138598=_0x163b23[_0x169151]['toString']();if(manager[_0x307b('0x54')](_0x138598)){manager[_0x307b('0x33')](_0x138598);manager['deleteJob'](_0x138598);logger[_0x307b('0xd')](_0x307b('0x55'),_0x138598);}}logger['info']('toRun',JSON[_0x307b('0x2d')](_0xaff446));for(_0x169151=0x0;_0x169151<_0xaff446['length'];_0x169151+=0x1){_0x138598=_0xaff446[_0x169151][_0x307b('0x50')]();if(_0x3b5e36){logger[_0x307b('0xd')](JSON['stringify'](_0x56328a[_0x138598]));BPromise['resolve']()['then'](handleJob(_0x56328a[_0x138598]));logger['info'](_0x307b('0x56'),_0x56328a[_0x138598]['name'],_0x56328a[_0x138598][_0x307b('0x57')]);}else if(_0x56328a[_0x138598][_0x307b('0x57')]&&_0x56328a[_0x138598][_0x307b('0x58')]&&moment()[_0x307b('0x59')](_0x56328a[_0x138598][_0x307b('0x5a')],_0x56328a[_0x138598][_0x307b('0x5b')])){manager[_0x307b('0x5c')](_0x138598,_0x56328a[_0x138598][_0x307b('0x57')],handleJob(_0x56328a[_0x138598]));manager['start'](_0x138598);logger[_0x307b('0xd')]('add\x20cron',_0x56328a[_0x138598][_0x307b('0x12')],_0x56328a[_0x138598][_0x307b('0x57')]);}else if(manager[_0x307b('0x54')](_0x138598)){manager[_0x307b('0x33')](_0x138598);manager[_0x307b('0x5d')](_0x138598);logger[_0x307b('0xd')](_0x307b('0x5e'),_0x56328a[_0x138598][_0x307b('0x12')],_0x56328a[_0x138598][_0x307b('0x57')]);}}for(_0x169151=0x0,_0x138598;_0x169151<_0x28d2d3[_0x307b('0x53')]&&!_0x3b5e36;_0x169151+=0x1){_0x138598=_0x28d2d3[_0x169151][_0x307b('0x50')]();if(manager['exists'](_0x138598)){if(_0x56328a[_0x138598][_0x307b('0x57')]&&_0x56328a[_0x138598][_0x307b('0x58')]&&moment()[_0x307b('0x59')](_0x56328a[_0x138598][_0x307b('0x5a')],_0x56328a[_0x138598]['endAt'])){manager['update'](_0x138598,_0x56328a[_0x138598]['cron'],handleJob(_0x56328a[_0x138598]));logger[_0x307b('0xd')](_0x307b('0x5f'),_0x56328a[_0x138598][_0x307b('0x12')],_0x56328a[_0x138598][_0x307b('0x57')]);}else{manager[_0x307b('0x33')](_0x138598);manager[_0x307b('0x5d')](_0x138598);logger[_0x307b('0xd')](_0x307b('0x5e'),_0x56328a[_0x138598][_0x307b('0x12')],_0x56328a[_0x138598]['cron']);}}}})['catch'](function(_0x254ddd){logger[_0x307b('0xc')](JSON[_0x307b('0x2d')](_0x254ddd));});}exports[_0x307b('0x60')]=function(_0x1bae65){return getJobs(_0x1bae65);};exports[_0x307b('0x61')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+var _0xade4=['jayson/promise','schedule','../../mysqldb','retry','../../api/analyticCustomReport/analyticCustomReport.controller','client','http','findOne','info','Try\x20to\x20send\x20a\x20mail\x20to','email','format','\x22%s\x22\x20<%s>','MailAccount','name','Smtp','user','bcc','Report\x20%s\x20last\x20%s\x20%s','subtractNumber','join','../../files/reports','savename','%s.%s','extname','zip','existsSync','status','Sent','message','Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a','attachments','Empty','text','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','error','[handleSendEmail]\x20Unrecognized\x20status:','request','then','stringify','email\x20sent','catch','error\x20mail','case\x20loading','retryOptions','retries','job','data','stop','operation','still\x20loading','case\x20completed','case\x20empty','case\x20failed','entity','dataValues','attempt','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','sendMail','isNil','subtractNumber\x20null\x20or\x20undefined','subtractUnit','subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','output','DefaultReportId','runReport','CustomReportId','exec\x20custom\x20report\x20id:%s','Schedule','findAll','MailServerOut','CloudProvider','keys','jobs','toString','difference','intersection','length','exists','delete\x20cron','resolve','cron','active','endAt','add','add\x20cron','deleteJob','stop\x20cron','startAt','update','update\x20cron','start','util','path','lodash','moment','cron-job-manager'];(function(_0x5a91f8,_0x44c407){var _0x3bec2e=function(_0x4fd7dd){while(--_0x4fd7dd){_0x5a91f8['push'](_0x5a91f8['shift']());}};_0x3bec2e(++_0x44c407);}(_0xade4,0x67));var _0x4ade=function(_0x3036ac,_0x57006a){_0x3036ac=_0x3036ac-0x0;var _0x12f0e7=_0xade4[_0x3036ac];return _0x12f0e7;};'use strict';var fs=require('fs');var util=require(_0x4ade('0x0'));var path=require(_0x4ade('0x1'));var _=require(_0x4ade('0x2'));var moment=require(_0x4ade('0x3'));var CronJobManager=require(_0x4ade('0x4'));var jayson=require(_0x4ade('0x5'));var BPromise=require('bluebird');var logger=require('../logger')(_0x4ade('0x6'));var db=require(_0x4ade('0x7'))['db'];const retry=require(_0x4ade('0x8'));var analyticCustomReportController=require(_0x4ade('0x9'));var analyticDefaultReportController=require('../../api/analyticDefaultReport/analyticDefaultReport.controller');var client=jayson[_0x4ade('0xa')][_0x4ade('0xb')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x2769ff){const _0x479fef={};if(typeof _0x2769ff==='number'){_0x479fef['id']=_0x2769ff;}return db['AnalyticExtractedReport'][_0x4ade('0xc')]({'where':_0x479fef})['then'](function(_0x4ae067){return _0x4ae067;})['catch'](function(_0x42d6f2){logger['error'](_0x42d6f2);});}function handleSendEmail(_0x2a0219,_0x50e5b8){logger[_0x4ade('0xd')](_0x4ade('0xe'),_0x2a0219[_0x4ade('0xf')]);var _0x21a630=!![];var _0x3fa589=_0x2a0219['MailAccount']['getSmtpOptions']();var _0x3c6af9={'account':_0x3fa589,'message':{'from':util[_0x4ade('0x10')](_0x4ade('0x11'),_0x2a0219[_0x4ade('0x12')][_0x4ade('0x13')],_0x2a0219[_0x4ade('0x12')][_0x4ade('0xf')]||_0x2a0219[_0x4ade('0x12')][_0x4ade('0x14')][_0x4ade('0x15')]),'to':_0x2a0219[_0x4ade('0xf')],'cc':_0x2a0219['cc'],'bcc':_0x2a0219[_0x4ade('0x16')],'subject':util[_0x4ade('0x10')](_0x4ade('0x17'),_0x50e5b8[_0x4ade('0x13')],_0x2a0219[_0x4ade('0x18')],_0x2a0219['subtractUnit'])}};var _0x2fb2c1=path[_0x4ade('0x19')](__dirname,_0x4ade('0x1a'));var _0x4ba23d=_0x50e5b8[_0x4ade('0x1b')];var _0x52e5cd=util[_0x4ade('0x10')](_0x4ade('0x1c'),path['basename'](_0x50e5b8['savename'],path[_0x4ade('0x1d')](_0x50e5b8['savename'])),_0x4ade('0x1e'));var _0x58cf2f=path[_0x4ade('0x19')](_0x2fb2c1,_0x4ba23d);var _0x2593fc=path['join'](_0x2fb2c1,_0x52e5cd);if(fs[_0x4ade('0x1f')](_0x58cf2f)){_0x50e5b8[_0x4ade('0x20')]=_0x4ade('0x21');_0x3c6af9[_0x4ade('0x22')]['attachments']=[{'filename':_0x4ba23d,'path':_0x58cf2f}];_0x3c6af9[_0x4ade('0x22')]['text']=util[_0x4ade('0x10')](_0x4ade('0x23'),JSON['stringify'](_0x50e5b8,null,0x2));}else if(fs[_0x4ade('0x1f')](_0x2593fc)){_0x50e5b8[_0x4ade('0x20')]=_0x4ade('0x21');_0x3c6af9[_0x4ade('0x22')][_0x4ade('0x24')]=[{'filename':_0x52e5cd,'path':_0x2593fc}];}else{if(_0x50e5b8[_0x4ade('0x20')]===_0x4ade('0x25')){_0x3c6af9[_0x4ade('0x22')][_0x4ade('0x26')]=_0x4ade('0x27');if(!_0x2a0219[_0x4ade('0x28')]){_0x21a630=![];logger['info'](_0x4ade('0x29'));}}else if(_0x50e5b8[_0x4ade('0x20')]===_0x4ade('0x2a')){_0x3c6af9[_0x4ade('0x22')][_0x4ade('0x26')]=_0x4ade('0x2b');}else if(_0x50e5b8['status']===_0x4ade('0x2c')){_0x3c6af9[_0x4ade('0x22')][_0x4ade('0x26')]=_0x4ade('0x2d');}else if(_0x50e5b8[_0x4ade('0x20')]===_0x4ade('0x2e')){_0x3c6af9[_0x4ade('0x22')][_0x4ade('0x26')]='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[_0x4ade('0x2f')](_0x4ade('0x30'),_0x50e5b8[_0x4ade('0x20')]);}}if(_0x21a630){return client[_0x4ade('0x31')]('SendMail',_0x3c6af9)[_0x4ade('0x32')](function(_0x4e94cd){if(_0x4e94cd['error']){return logger['error']('error\x20mail',JSON[_0x4ade('0x33')](_0x4e94cd));}return logger['info'](_0x4ade('0x34'));})[_0x4ade('0x35')](function(_0x5638d1){return logger[_0x4ade('0x2f')](_0x4ade('0x36'),JSON[_0x4ade('0x33')](_0x5638d1));});}}function handleError(){return function(_0x21bcc2){return logger['error'](JSON['stringify'](_0x21bcc2));};}function loading(_0x2d2301){logger[_0x4ade('0xd')](_0x4ade('0x37'));if(_0x2d2301['currentAttempt']===_0x2d2301[_0x4ade('0x38')][_0x4ade('0x39')]){handleSendEmail(_0x2d2301[_0x4ade('0x3a')],_0x2d2301[_0x4ade('0x3b')]);_0x2d2301['operation'][_0x4ade('0x3c')]();}else{_0x2d2301[_0x4ade('0x3d')][_0x4ade('0x8')](_0x4ade('0x3e'));}}function completed(_0x5ed088){logger[_0x4ade('0xd')](_0x4ade('0x3f'));handleSendEmail(_0x5ed088[_0x4ade('0x3a')],_0x5ed088[_0x4ade('0x3b')]);_0x5ed088[_0x4ade('0x3d')][_0x4ade('0x3c')]();}function empty(_0x4fd7d4){logger['info'](_0x4ade('0x40'));handleSendEmail(_0x4fd7d4[_0x4ade('0x3a')],_0x4fd7d4['data']);_0x4fd7d4[_0x4ade('0x3d')]['stop']();}function failed(_0x36bf7c){logger[_0x4ade('0xd')](_0x4ade('0x41'));handleSendEmail(_0x36bf7c[_0x4ade('0x3a')],_0x36bf7c[_0x4ade('0x3b')]);_0x36bf7c[_0x4ade('0x3d')][_0x4ade('0x3c')]();}function urecognized(_0x1eac0a){logger['error']('Unrecognized\x20status:',_0x1eac0a[_0x4ade('0x42')][_0x4ade('0x43')]['status']);_0x1eac0a['operation'][_0x4ade('0x3c')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x1c2bc5,_0x86b113){const _0x49c572={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x73e0db=retry[_0x4ade('0x3d')](_0x49c572);_0x73e0db[_0x4ade('0x44')](_0x419816=>{logger[_0x4ade('0xd')](_0x4ade('0x45')+_0x1c2bc5['id']+_0x4ade('0x46')+_0x419816);try{getReportData(_0x86b113['id'])[_0x4ade('0x32')](function(_0x558c38){_0x86b113=_0x558c38;logger[_0x4ade('0xd')]('report\x20status:',_0x558c38[_0x4ade('0x43')][_0x4ade('0x20')]);if(!reportStatusStrategies[_0x558c38[_0x4ade('0x43')][_0x4ade('0x20')]]){logger[_0x4ade('0x2f')](_0x4ade('0x47'),_0x558c38[_0x4ade('0x43')][_0x4ade('0x20')]);_0x73e0db[_0x4ade('0x8')]();}reportStatusStrategies[_0x558c38['dataValues'][_0x4ade('0x20')]]({'operation':_0x73e0db,'currentAttempt':_0x419816,'retryOptions':_0x49c572,'job':_0x1c2bc5,'data':_0x86b113,'entity':_0x558c38});});}catch(_0x99b7ed){_0x73e0db[_0x4ade('0x8')](_0x99b7ed);}});}function handleResult(_0x4bf705){return function(_0xec2ca1){if(_0x4bf705[_0x4ade('0x48')]&&_0x4bf705[_0x4ade('0x12')]&&_0x4bf705[_0x4ade('0x12')][_0x4ade('0x14')]&&!_['isNil'](_0x4bf705[_0x4ade('0xf')])){retryer(_0x4bf705,_0xec2ca1);}};}function handleJob(_0x269007){return function(){try{if(_[_0x4ade('0x49')](_0x269007[_0x4ade('0x18')])){return logger[_0x4ade('0xd')](_0x4ade('0x4a'));}if(_[_0x4ade('0x49')](_0x269007[_0x4ade('0x4b')])){return logger[_0x4ade('0xd')](_0x4ade('0x4c'));}var _0x1a4fb6={'startDate':moment()[_0x4ade('0x4d')](_0x269007[_0x4ade('0x18')],_0x269007['subtractUnit'])[_0x4ade('0x10')]('YYYY-MM-DD\x20HH:mm:ss'),'endDate':moment()[_0x4ade('0x10')](_0x4ade('0x4e')),'type':'scheduled','output':_0x269007[_0x4ade('0x4f')],'name':_0x269007[_0x4ade('0x13')]};if(!_['isNil'](_0x269007['DefaultReportId'])){logger[_0x4ade('0xd')]('exec\x20defaul\x20report\x20id:%s',_0x269007[_0x4ade('0x50')]);return analyticDefaultReportController[_0x4ade('0x51')]({'id':_0x269007['DefaultReportId']},_0x1a4fb6)['then'](handleResult(_0x269007))[_0x4ade('0x35')](handleError());}if(!_[_0x4ade('0x49')](_0x269007[_0x4ade('0x52')])){logger['info'](_0x4ade('0x53'),_0x269007['CustomReportId']);return analyticCustomReportController[_0x4ade('0x51')]({'id':_0x269007[_0x4ade('0x52')]},_0x1a4fb6)[_0x4ade('0x32')](handleResult(_0x269007))[_0x4ade('0x35')](handleError());}}catch(_0x22500b){logger[_0x4ade('0x2f')](JSON[_0x4ade('0x33')](_0x22500b));}return logger[_0x4ade('0xd')]('no\x20report\x20id');};}function getJobs(_0xffbef){var _0x54bdf6={};if(_0xffbef){_0x54bdf6['id']=_0xffbef;}return db[_0x4ade('0x54')][_0x4ade('0x55')]({'where':_0x54bdf6,'include':[{'model':db[_0x4ade('0x12')],'attributes':['id',_0x4ade('0x13'),_0x4ade('0xf')],'include':[{'model':db[_0x4ade('0x56')],'as':_0x4ade('0x14'),'include':[{'model':db['CloudProvider'],'as':_0x4ade('0x57')}]}]}]})[_0x4ade('0x32')](function(_0x27ed75){var _0x43d9ef=_[_0x4ade('0x58')](manager[_0x4ade('0x59')]);var _0x27884d=_['map'](_0x27ed75,function(_0x558d12){return _0x558d12['id']['toString']();});var _0x74503e=_['keyBy'](_0x27ed75,function(_0x46faf0){return _0x46faf0['id'][_0x4ade('0x5a')]();});var _0x8f7bd=_0xffbef?_0x27884d:_[_0x4ade('0x5b')](_0x27884d,_0x43d9ef);var _0x39f8de=_[_0x4ade('0x5c')](_0x27884d,_0x43d9ef);var _0x12488f=_[_0x4ade('0x5b')](_0x43d9ef,_0x27884d);var _0x38f280;var _0x3a9291;for(_0x38f280=0x0;_0x38f280<_0x12488f[_0x4ade('0x5d')]&&!_0xffbef;_0x38f280+=0x1){_0x3a9291=_0x12488f[_0x38f280][_0x4ade('0x5a')]();if(manager[_0x4ade('0x5e')](_0x3a9291)){manager[_0x4ade('0x3c')](_0x3a9291);manager['deleteJob'](_0x3a9291);logger['info'](_0x4ade('0x5f'),_0x3a9291);}}logger['info']('toRun',JSON[_0x4ade('0x33')](_0x8f7bd));for(_0x38f280=0x0;_0x38f280<_0x8f7bd['length'];_0x38f280+=0x1){_0x3a9291=_0x8f7bd[_0x38f280][_0x4ade('0x5a')]();if(_0xffbef){logger[_0x4ade('0xd')](JSON[_0x4ade('0x33')](_0x74503e[_0x3a9291]));BPromise[_0x4ade('0x60')]()[_0x4ade('0x32')](handleJob(_0x74503e[_0x3a9291]));logger[_0x4ade('0xd')]('run\x20job',_0x74503e[_0x3a9291][_0x4ade('0x13')],_0x74503e[_0x3a9291][_0x4ade('0x61')]);}else if(_0x74503e[_0x3a9291][_0x4ade('0x61')]&&_0x74503e[_0x3a9291][_0x4ade('0x62')]&&moment()['isBetween'](_0x74503e[_0x3a9291]['startAt'],_0x74503e[_0x3a9291][_0x4ade('0x63')])){manager[_0x4ade('0x64')](_0x3a9291,_0x74503e[_0x3a9291][_0x4ade('0x61')],handleJob(_0x74503e[_0x3a9291]));manager['start'](_0x3a9291);logger[_0x4ade('0xd')](_0x4ade('0x65'),_0x74503e[_0x3a9291]['name'],_0x74503e[_0x3a9291][_0x4ade('0x61')]);}else if(manager[_0x4ade('0x5e')](_0x3a9291)){manager[_0x4ade('0x3c')](_0x3a9291);manager[_0x4ade('0x66')](_0x3a9291);logger[_0x4ade('0xd')](_0x4ade('0x67'),_0x74503e[_0x3a9291][_0x4ade('0x13')],_0x74503e[_0x3a9291][_0x4ade('0x61')]);}}for(_0x38f280=0x0,_0x3a9291;_0x38f280<_0x39f8de[_0x4ade('0x5d')]&&!_0xffbef;_0x38f280+=0x1){_0x3a9291=_0x39f8de[_0x38f280][_0x4ade('0x5a')]();if(manager['exists'](_0x3a9291)){if(_0x74503e[_0x3a9291][_0x4ade('0x61')]&&_0x74503e[_0x3a9291][_0x4ade('0x62')]&&moment()['isBetween'](_0x74503e[_0x3a9291][_0x4ade('0x68')],_0x74503e[_0x3a9291][_0x4ade('0x63')])){manager[_0x4ade('0x69')](_0x3a9291,_0x74503e[_0x3a9291]['cron'],handleJob(_0x74503e[_0x3a9291]));logger[_0x4ade('0xd')](_0x4ade('0x6a'),_0x74503e[_0x3a9291]['name'],_0x74503e[_0x3a9291][_0x4ade('0x61')]);}else{manager[_0x4ade('0x3c')](_0x3a9291);manager['deleteJob'](_0x3a9291);logger['info']('stop\x20cron',_0x74503e[_0x3a9291][_0x4ade('0x13')],_0x74503e[_0x3a9291][_0x4ade('0x61')]);}}}})[_0x4ade('0x35')](function(_0x2a3b81){logger[_0x4ade('0x2f')](JSON[_0x4ade('0x33')](_0x2a3b81));});}exports['run']=function(_0x37a6d0){return getJobs(_0x37a6d0);};exports[_0x4ade('0x6b')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file