Built motion from commit 1ea47bf4.|2.6.34
[motion2.git] / server / config / schedule / index.js
index 5f9da46..b6f454a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xdb75=['stop\x20cron','startAt','endAt','update','update\x20cron','run','util','path','cron-job-manager','jayson/promise','bluebird','../logger','../../mysqldb','retry','../../api/analyticDefaultReport/analyticDefaultReport.controller','http','number','then','catch','error','Try\x20to\x20send\x20a\x20mail\x20to','email','getSmtpOptions','\x22%s\x22\x20<%s>','MailAccount','name','Smtp','user','format','subtractUnit','join','savename','basename','extname','zip','existsSync','Sent','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','attachments','status','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','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','SendMail','error\x20mail','email\x20sent','case\x20loading','currentAttempt','retryOptions','retries','job','data','operation','stop','still\x20loading','case\x20completed','case\x20failed','Unrecognized\x20status:','entity','dataValues','attempt','report\x20status:','subtractNumber','isNil','subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','scheduled','output','exec\x20defaul\x20report\x20id:%s','runReport','DefaultReportId','CustomReportId','no\x20report\x20id','Schedule','findAll','MailServerOut','CloudProvider','keys','jobs','map','toString','keyBy','intersection','difference','exists','delete\x20cron','length','resolve','run\x20job','cron','active','isBetween','start','add\x20cron','deleteJob'];(function(_0x3fc3c0,_0x313d37){var _0x16ed79=function(_0x5e25e6){while(--_0x5e25e6){_0x3fc3c0['push'](_0x3fc3c0['shift']());}};_0x16ed79(++_0x313d37);}(_0xdb75,0x144));var _0x5db7=function(_0x33f6ae,_0x499448){_0x33f6ae=_0x33f6ae-0x0;var _0x16ec5c=_0xdb75[_0x33f6ae];return _0x16ec5c;};'use strict';var fs=require('fs');var util=require(_0x5db7('0x0'));var path=require(_0x5db7('0x1'));var _=require('lodash');var moment=require('moment');var CronJobManager=require(_0x5db7('0x2'));var jayson=require(_0x5db7('0x3'));var BPromise=require(_0x5db7('0x4'));var logger=require(_0x5db7('0x5'))('schedule');var db=require(_0x5db7('0x6'))['db'];const retry=require(_0x5db7('0x7'));var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require(_0x5db7('0x8'));var client=jayson['client'][_0x5db7('0x9')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0xbe6527){const _0x3a105b={};if(typeof _0xbe6527===_0x5db7('0xa')){_0x3a105b['id']=_0xbe6527;}return db['AnalyticExtractedReport']['findOne']({'where':_0x3a105b})[_0x5db7('0xb')](function(_0x57d816){return _0x57d816;})[_0x5db7('0xc')](function(_0x2c57ce){logger[_0x5db7('0xd')](_0x2c57ce);});}function handleSendEmail(_0x14828e,_0x5ebcbe){logger['info'](_0x5db7('0xe'),_0x14828e[_0x5db7('0xf')]);var _0x4bdd20=!![];var _0x19a72b=_0x14828e['MailAccount'][_0x5db7('0x10')]();var _0x4ff274={'account':_0x19a72b,'message':{'from':util['format'](_0x5db7('0x11'),_0x14828e[_0x5db7('0x12')][_0x5db7('0x13')],_0x14828e[_0x5db7('0x12')][_0x5db7('0xf')]||_0x14828e['MailAccount'][_0x5db7('0x14')][_0x5db7('0x15')]),'to':_0x14828e[_0x5db7('0xf')],'cc':_0x14828e['cc'],'bcc':_0x14828e['bcc'],'subject':util[_0x5db7('0x16')]('Report\x20%s\x20last\x20%s\x20%s',_0x5ebcbe[_0x5db7('0x13')],_0x14828e['subtractNumber'],_0x14828e[_0x5db7('0x17')])}};var _0x436da2=path[_0x5db7('0x18')](__dirname,'../../files/reports');var _0x1a4246=_0x5ebcbe[_0x5db7('0x19')];var _0x5ac52f=util[_0x5db7('0x16')]('%s.%s',path[_0x5db7('0x1a')](_0x5ebcbe[_0x5db7('0x19')],path[_0x5db7('0x1b')](_0x5ebcbe[_0x5db7('0x19')])),_0x5db7('0x1c'));var _0x4e3634=path[_0x5db7('0x18')](_0x436da2,_0x1a4246);var _0x56bc5f=path[_0x5db7('0x18')](_0x436da2,_0x5ac52f);if(fs[_0x5db7('0x1d')](_0x4e3634)){_0x5ebcbe['status']=_0x5db7('0x1e');_0x4ff274[_0x5db7('0x1f')]['attachments']=[{'filename':_0x1a4246,'path':_0x4e3634}];_0x4ff274['message'][_0x5db7('0x20')]=util[_0x5db7('0x16')](_0x5db7('0x21'),JSON[_0x5db7('0x22')](_0x5ebcbe,null,0x2));}else if(fs[_0x5db7('0x1d')](_0x56bc5f)){_0x5ebcbe['status']='Sent';_0x4ff274[_0x5db7('0x1f')][_0x5db7('0x23')]=[{'filename':_0x5ac52f,'path':_0x56bc5f}];}else{if(_0x5ebcbe[_0x5db7('0x24')]==='Empty'){_0x4ff274[_0x5db7('0x1f')][_0x5db7('0x20')]=_0x5db7('0x25');if(!_0x14828e[_0x5db7('0x26')]){_0x4bdd20=![];logger[_0x5db7('0x27')](_0x5db7('0x28'));}}else if(_0x5ebcbe[_0x5db7('0x24')]===_0x5db7('0x29')){_0x4ff274['message'][_0x5db7('0x20')]=_0x5db7('0x2a');}else if(_0x5ebcbe['status']===_0x5db7('0x2b')){_0x4ff274[_0x5db7('0x1f')][_0x5db7('0x20')]=_0x5db7('0x2c');}else if(_0x5ebcbe[_0x5db7('0x24')]===_0x5db7('0x2d')){_0x4ff274[_0x5db7('0x1f')][_0x5db7('0x20')]=_0x5db7('0x2e');}else{logger[_0x5db7('0xd')]('[handleSendEmail]\x20Unrecognized\x20status:',_0x5ebcbe[_0x5db7('0x24')]);}}if(_0x4bdd20){return client['request'](_0x5db7('0x2f'),_0x4ff274)[_0x5db7('0xb')](function(_0xba410c){if(_0xba410c[_0x5db7('0xd')]){return logger[_0x5db7('0xd')](_0x5db7('0x30'),JSON[_0x5db7('0x22')](_0xba410c));}return logger[_0x5db7('0x27')](_0x5db7('0x31'));})['catch'](function(_0x15e9f7){return logger[_0x5db7('0xd')](_0x5db7('0x30'),JSON[_0x5db7('0x22')](_0x15e9f7));});}}function handleError(){return function(_0x261d53){return logger[_0x5db7('0xd')](JSON[_0x5db7('0x22')](_0x261d53));};}function loading(_0x2b9f41){logger[_0x5db7('0x27')](_0x5db7('0x32'));if(_0x2b9f41[_0x5db7('0x33')]===_0x2b9f41[_0x5db7('0x34')][_0x5db7('0x35')]){handleSendEmail(_0x2b9f41[_0x5db7('0x36')],_0x2b9f41[_0x5db7('0x37')]);_0x2b9f41[_0x5db7('0x38')][_0x5db7('0x39')]();}else{_0x2b9f41['operation'][_0x5db7('0x7')](_0x5db7('0x3a'));}}function completed(_0x556700){logger[_0x5db7('0x27')](_0x5db7('0x3b'));handleSendEmail(_0x556700[_0x5db7('0x36')],_0x556700[_0x5db7('0x37')]);_0x556700[_0x5db7('0x38')]['stop']();}function empty(_0x18ef03){logger['info']('case\x20empty');handleSendEmail(_0x18ef03[_0x5db7('0x36')],_0x18ef03[_0x5db7('0x37')]);_0x18ef03['operation'][_0x5db7('0x39')]();}function failed(_0x1aa0df){logger[_0x5db7('0x27')](_0x5db7('0x3c'));handleSendEmail(_0x1aa0df[_0x5db7('0x36')],_0x1aa0df['data']);_0x1aa0df[_0x5db7('0x38')][_0x5db7('0x39')]();}function urecognized(_0x19c5f6){logger[_0x5db7('0xd')](_0x5db7('0x3d'),_0x19c5f6[_0x5db7('0x3e')][_0x5db7('0x3f')][_0x5db7('0x24')]);_0x19c5f6['operation']['stop']();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x55c63f,_0x25f399){const _0x576c8c={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x2bc384=retry[_0x5db7('0x38')](_0x576c8c);_0x2bc384[_0x5db7('0x40')](_0xf2825c=>{logger[_0x5db7('0x27')]('Job\x20ID\x20'+_0x55c63f['id']+'\x20Attempt\x20#:'+_0xf2825c);try{getReportData(_0x25f399['id'])['then'](function(_0x5646e6){_0x25f399=_0x5646e6;logger[_0x5db7('0x27')](_0x5db7('0x41'),_0x5646e6['dataValues']['status']);if(!reportStatusStrategies[_0x5646e6[_0x5db7('0x3f')][_0x5db7('0x24')]]){logger[_0x5db7('0xd')](_0x5db7('0x41'),_0x5646e6[_0x5db7('0x3f')][_0x5db7('0x24')]);_0x2bc384[_0x5db7('0x7')]();}reportStatusStrategies[_0x5646e6[_0x5db7('0x3f')][_0x5db7('0x24')]]({'operation':_0x2bc384,'currentAttempt':_0xf2825c,'retryOptions':_0x576c8c,'job':_0x55c63f,'data':_0x25f399,'entity':_0x5646e6});});}catch(_0x10bed3){_0x2bc384[_0x5db7('0x7')](_0x10bed3);}});}function handleResult(_0x3bd4ef){return function(_0x187e92){if(_0x3bd4ef['sendMail']&&_0x3bd4ef[_0x5db7('0x12')]&&_0x3bd4ef['MailAccount'][_0x5db7('0x14')]&&!_['isNil'](_0x3bd4ef['email'])){retryer(_0x3bd4ef,_0x187e92);}};}function handleJob(_0x2ad740){return function(){try{if(_['isNil'](_0x2ad740[_0x5db7('0x42')])){return logger[_0x5db7('0x27')]('subtractNumber\x20null\x20or\x20undefined');}if(_[_0x5db7('0x43')](_0x2ad740[_0x5db7('0x17')])){return logger[_0x5db7('0x27')](_0x5db7('0x44'));}var _0x54f499={'startDate':moment()[_0x5db7('0x45')](_0x2ad740[_0x5db7('0x42')],_0x2ad740['subtractUnit'])['format'](_0x5db7('0x46')),'endDate':moment()[_0x5db7('0x16')]('YYYY-MM-DD\x20HH:mm:ss'),'type':_0x5db7('0x47'),'output':_0x2ad740[_0x5db7('0x48')],'name':_0x2ad740[_0x5db7('0x13')]};if(!_[_0x5db7('0x43')](_0x2ad740['DefaultReportId'])){logger[_0x5db7('0x27')](_0x5db7('0x49'),_0x2ad740['DefaultReportId']);return analyticDefaultReportController[_0x5db7('0x4a')]({'id':_0x2ad740[_0x5db7('0x4b')]},_0x54f499)[_0x5db7('0xb')](handleResult(_0x2ad740))[_0x5db7('0xc')](handleError());}if(!_[_0x5db7('0x43')](_0x2ad740['CustomReportId'])){logger[_0x5db7('0x27')]('exec\x20custom\x20report\x20id:%s',_0x2ad740[_0x5db7('0x4c')]);return analyticCustomReportController['runReport']({'id':_0x2ad740[_0x5db7('0x4c')]},_0x54f499)[_0x5db7('0xb')](handleResult(_0x2ad740))[_0x5db7('0xc')](handleError());}}catch(_0x122cec){logger[_0x5db7('0xd')](JSON[_0x5db7('0x22')](_0x122cec));}return logger[_0x5db7('0x27')](_0x5db7('0x4d'));};}function getJobs(_0x2f55f4){var _0x4257c3={};if(_0x2f55f4){_0x4257c3['id']=_0x2f55f4;}return db[_0x5db7('0x4e')][_0x5db7('0x4f')]({'where':_0x4257c3,'include':[{'model':db[_0x5db7('0x12')],'attributes':['id',_0x5db7('0x13'),_0x5db7('0xf')],'include':[{'model':db[_0x5db7('0x50')],'as':_0x5db7('0x14'),'include':[{'model':db[_0x5db7('0x51')],'as':_0x5db7('0x51')}]}]}]})[_0x5db7('0xb')](function(_0x38eaec){var _0x4014e4=_[_0x5db7('0x52')](manager[_0x5db7('0x53')]);var _0x2e5ae6=_[_0x5db7('0x54')](_0x38eaec,function(_0x4e5bfa){return _0x4e5bfa['id'][_0x5db7('0x55')]();});var _0x21646f=_[_0x5db7('0x56')](_0x38eaec,function(_0xc33f83){return _0xc33f83['id']['toString']();});var _0x59aefa=_0x2f55f4?_0x2e5ae6:_['difference'](_0x2e5ae6,_0x4014e4);var _0x33af22=_[_0x5db7('0x57')](_0x2e5ae6,_0x4014e4);var _0x437a28=_[_0x5db7('0x58')](_0x4014e4,_0x2e5ae6);var _0x3df4fd;var _0x5a3215;for(_0x3df4fd=0x0;_0x3df4fd<_0x437a28['length']&&!_0x2f55f4;_0x3df4fd+=0x1){_0x5a3215=_0x437a28[_0x3df4fd]['toString']();if(manager[_0x5db7('0x59')](_0x5a3215)){manager[_0x5db7('0x39')](_0x5a3215);manager['deleteJob'](_0x5a3215);logger[_0x5db7('0x27')](_0x5db7('0x5a'),_0x5a3215);}}logger[_0x5db7('0x27')]('toRun',JSON['stringify'](_0x59aefa));for(_0x3df4fd=0x0;_0x3df4fd<_0x59aefa[_0x5db7('0x5b')];_0x3df4fd+=0x1){_0x5a3215=_0x59aefa[_0x3df4fd][_0x5db7('0x55')]();if(_0x2f55f4){logger[_0x5db7('0x27')](JSON[_0x5db7('0x22')](_0x21646f[_0x5a3215]));BPromise[_0x5db7('0x5c')]()['then'](handleJob(_0x21646f[_0x5a3215]));logger[_0x5db7('0x27')](_0x5db7('0x5d'),_0x21646f[_0x5a3215][_0x5db7('0x13')],_0x21646f[_0x5a3215][_0x5db7('0x5e')]);}else if(_0x21646f[_0x5a3215]['cron']&&_0x21646f[_0x5a3215][_0x5db7('0x5f')]&&moment()[_0x5db7('0x60')](_0x21646f[_0x5a3215]['startAt'],_0x21646f[_0x5a3215]['endAt'])){manager['add'](_0x5a3215,_0x21646f[_0x5a3215][_0x5db7('0x5e')],handleJob(_0x21646f[_0x5a3215]));manager[_0x5db7('0x61')](_0x5a3215);logger[_0x5db7('0x27')](_0x5db7('0x62'),_0x21646f[_0x5a3215][_0x5db7('0x13')],_0x21646f[_0x5a3215]['cron']);}else if(manager[_0x5db7('0x59')](_0x5a3215)){manager[_0x5db7('0x39')](_0x5a3215);manager[_0x5db7('0x63')](_0x5a3215);logger[_0x5db7('0x27')](_0x5db7('0x64'),_0x21646f[_0x5a3215]['name'],_0x21646f[_0x5a3215][_0x5db7('0x5e')]);}}for(_0x3df4fd=0x0,_0x5a3215;_0x3df4fd<_0x33af22[_0x5db7('0x5b')]&&!_0x2f55f4;_0x3df4fd+=0x1){_0x5a3215=_0x33af22[_0x3df4fd][_0x5db7('0x55')]();if(manager['exists'](_0x5a3215)){if(_0x21646f[_0x5a3215]['cron']&&_0x21646f[_0x5a3215][_0x5db7('0x5f')]&&moment()[_0x5db7('0x60')](_0x21646f[_0x5a3215][_0x5db7('0x65')],_0x21646f[_0x5a3215][_0x5db7('0x66')])){manager[_0x5db7('0x67')](_0x5a3215,_0x21646f[_0x5a3215][_0x5db7('0x5e')],handleJob(_0x21646f[_0x5a3215]));logger[_0x5db7('0x27')](_0x5db7('0x68'),_0x21646f[_0x5a3215][_0x5db7('0x13')],_0x21646f[_0x5a3215][_0x5db7('0x5e')]);}else{manager[_0x5db7('0x39')](_0x5a3215);manager[_0x5db7('0x63')](_0x5a3215);logger[_0x5db7('0x27')]('stop\x20cron',_0x21646f[_0x5a3215][_0x5db7('0x13')],_0x21646f[_0x5a3215][_0x5db7('0x5e')]);}}}})['catch'](function(_0x5b8e00){logger[_0x5db7('0xd')](JSON[_0x5db7('0x22')](_0x5b8e00));});}exports[_0x5db7('0x69')]=function(_0x29b27c){return getJobs(_0x29b27c);};exports[_0x5db7('0x61')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+var _0xe72e=['toRun','length','resolve','run\x20job','active','isBetween','endAt','add','cron','start','add\x20cron','stop\x20cron','startAt','update','update\x20cron','run','util','path','moment','cron-job-manager','jayson/promise','schedule','../../mysqldb','retry','../../api/analyticCustomReport/analyticCustomReport.controller','../../api/analyticDefaultReport/analyticDefaultReport.controller','client','http','number','AnalyticExtractedReport','then','catch','error','info','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','getSmtpOptions','\x22%s\x22\x20<%s>','name','Smtp','user','bcc','format','Report\x20%s\x20last\x20%s\x20%s','subtractNumber','subtractUnit','join','../../files/reports','savename','%s.%s','basename','extname','existsSync','status','message','attachments','Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a','Sent','Empty','text','Report\x20empty\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20this\x20email.\x0a\x0a','empty\x20file,\x20email\x20not\x20sent','Loading','Completed','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','request','SendMail','stringify','email\x20sent','error\x20mail','case\x20loading','currentAttempt','retryOptions','data','stop','operation','still\x20loading','case\x20completed','job','case\x20empty','entity','attempt','Job\x20ID\x20','\x20Attempt\x20#:','report\x20status:','dataValues','sendMail','isNil','subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','DefaultReportId','exec\x20defaul\x20report\x20id:%s','runReport','CustomReportId','no\x20report\x20id','Schedule','findAll','MailServerOut','CloudProvider','keys','jobs','map','keyBy','toString','difference','intersection','exists','deleteJob'];(function(_0x31081f,_0x24916a){var _0x4cdd11=function(_0x38e782){while(--_0x38e782){_0x31081f['push'](_0x31081f['shift']());}};_0x4cdd11(++_0x24916a);}(_0xe72e,0xec));var _0xee72=function(_0x1949ac,_0x4a206e){_0x1949ac=_0x1949ac-0x0;var _0x7c5f8b=_0xe72e[_0x1949ac];return _0x7c5f8b;};'use strict';var fs=require('fs');var util=require(_0xee72('0x0'));var path=require(_0xee72('0x1'));var _=require('lodash');var moment=require(_0xee72('0x2'));var CronJobManager=require(_0xee72('0x3'));var jayson=require(_0xee72('0x4'));var BPromise=require('bluebird');var logger=require('../logger')(_0xee72('0x5'));var db=require(_0xee72('0x6'))['db'];const retry=require(_0xee72('0x7'));var analyticCustomReportController=require(_0xee72('0x8'));var analyticDefaultReportController=require(_0xee72('0x9'));var client=jayson[_0xee72('0xa')][_0xee72('0xb')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x4d7b79){const _0x52352e={};if(typeof _0x4d7b79===_0xee72('0xc')){_0x52352e['id']=_0x4d7b79;}return db[_0xee72('0xd')]['findOne']({'where':_0x52352e})[_0xee72('0xe')](function(_0x39c6cb){return _0x39c6cb;})[_0xee72('0xf')](function(_0x144fdb){logger[_0xee72('0x10')](_0x144fdb);});}function handleSendEmail(_0x53b72b,_0x5b3a34){logger[_0xee72('0x11')](_0xee72('0x12'),_0x53b72b[_0xee72('0x13')]);var _0x1d5b52=!![];var _0x20552d=_0x53b72b[_0xee72('0x14')][_0xee72('0x15')]();var _0x32a8f9={'account':_0x20552d,'message':{'from':util['format'](_0xee72('0x16'),_0x53b72b['MailAccount'][_0xee72('0x17')],_0x53b72b[_0xee72('0x14')][_0xee72('0x13')]||_0x53b72b[_0xee72('0x14')][_0xee72('0x18')][_0xee72('0x19')]),'to':_0x53b72b['email'],'cc':_0x53b72b['cc'],'bcc':_0x53b72b[_0xee72('0x1a')],'subject':util[_0xee72('0x1b')](_0xee72('0x1c'),_0x5b3a34[_0xee72('0x17')],_0x53b72b[_0xee72('0x1d')],_0x53b72b[_0xee72('0x1e')])}};var _0x2244c8=path[_0xee72('0x1f')](__dirname,_0xee72('0x20'));var _0x211dde=_0x5b3a34[_0xee72('0x21')];var _0x2553b1=util[_0xee72('0x1b')](_0xee72('0x22'),path[_0xee72('0x23')](_0x5b3a34['savename'],path[_0xee72('0x24')](_0x5b3a34[_0xee72('0x21')])),'zip');var _0x2fc53c=path[_0xee72('0x1f')](_0x2244c8,_0x211dde);var _0x17f7f6=path[_0xee72('0x1f')](_0x2244c8,_0x2553b1);if(fs[_0xee72('0x25')](_0x2fc53c)){_0x5b3a34[_0xee72('0x26')]='Sent';_0x32a8f9[_0xee72('0x27')][_0xee72('0x28')]=[{'filename':_0x211dde,'path':_0x2fc53c}];_0x32a8f9[_0xee72('0x27')]['text']=util['format'](_0xee72('0x29'),JSON['stringify'](_0x5b3a34,null,0x2));}else if(fs[_0xee72('0x25')](_0x17f7f6)){_0x5b3a34[_0xee72('0x26')]=_0xee72('0x2a');_0x32a8f9[_0xee72('0x27')][_0xee72('0x28')]=[{'filename':_0x2553b1,'path':_0x17f7f6}];}else{if(_0x5b3a34[_0xee72('0x26')]===_0xee72('0x2b')){_0x32a8f9[_0xee72('0x27')][_0xee72('0x2c')]=_0xee72('0x2d');if(!_0x53b72b['sendIfEmpty']){_0x1d5b52=![];logger[_0xee72('0x11')](_0xee72('0x2e'));}}else if(_0x5b3a34[_0xee72('0x26')]===_0xee72('0x2f')){_0x32a8f9[_0xee72('0x27')][_0xee72('0x2c')]='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(_0x5b3a34['status']===_0xee72('0x30')){_0x32a8f9['message']['text']='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(_0x5b3a34['status']==='Failed'){_0x32a8f9[_0xee72('0x27')][_0xee72('0x2c')]=_0xee72('0x31');}else{logger[_0xee72('0x10')]('[handleSendEmail]\x20Unrecognized\x20status:',_0x5b3a34[_0xee72('0x26')]);}}if(_0x1d5b52){return client[_0xee72('0x32')](_0xee72('0x33'),_0x32a8f9)[_0xee72('0xe')](function(_0x23d4ec){if(_0x23d4ec[_0xee72('0x10')]){return logger[_0xee72('0x10')]('error\x20mail',JSON[_0xee72('0x34')](_0x23d4ec));}return logger[_0xee72('0x11')](_0xee72('0x35'));})['catch'](function(_0x2b673c){return logger[_0xee72('0x10')](_0xee72('0x36'),JSON[_0xee72('0x34')](_0x2b673c));});}}function handleError(){return function(_0xb5b57){return logger[_0xee72('0x10')](JSON[_0xee72('0x34')](_0xb5b57));};}function loading(_0x4b7eaf){logger[_0xee72('0x11')](_0xee72('0x37'));if(_0x4b7eaf[_0xee72('0x38')]===_0x4b7eaf[_0xee72('0x39')]['retries']){handleSendEmail(_0x4b7eaf['job'],_0x4b7eaf[_0xee72('0x3a')]);_0x4b7eaf['operation'][_0xee72('0x3b')]();}else{_0x4b7eaf[_0xee72('0x3c')][_0xee72('0x7')](_0xee72('0x3d'));}}function completed(_0xcf30a9){logger['info'](_0xee72('0x3e'));handleSendEmail(_0xcf30a9[_0xee72('0x3f')],_0xcf30a9[_0xee72('0x3a')]);_0xcf30a9[_0xee72('0x3c')][_0xee72('0x3b')]();}function empty(_0x37188a){logger[_0xee72('0x11')](_0xee72('0x40'));handleSendEmail(_0x37188a[_0xee72('0x3f')],_0x37188a[_0xee72('0x3a')]);_0x37188a[_0xee72('0x3c')][_0xee72('0x3b')]();}function failed(_0xcc9e6f){logger['info']('case\x20failed');handleSendEmail(_0xcc9e6f[_0xee72('0x3f')],_0xcc9e6f['data']);_0xcc9e6f[_0xee72('0x3c')][_0xee72('0x3b')]();}function urecognized(_0x367e64){logger[_0xee72('0x10')]('Unrecognized\x20status:',_0x367e64[_0xee72('0x41')]['dataValues'][_0xee72('0x26')]);_0x367e64[_0xee72('0x3c')]['stop']();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x3f0cb9,_0x115ba0){const _0x1db42d={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x3a7da1=retry['operation'](_0x1db42d);_0x3a7da1[_0xee72('0x42')](_0x445929=>{logger[_0xee72('0x11')](_0xee72('0x43')+_0x3f0cb9['id']+_0xee72('0x44')+_0x445929);try{getReportData(_0x115ba0['id'])[_0xee72('0xe')](function(_0x3d9e6a){_0x115ba0=_0x3d9e6a;logger[_0xee72('0x11')](_0xee72('0x45'),_0x3d9e6a[_0xee72('0x46')][_0xee72('0x26')]);if(!reportStatusStrategies[_0x3d9e6a['dataValues'][_0xee72('0x26')]]){logger[_0xee72('0x10')](_0xee72('0x45'),_0x3d9e6a[_0xee72('0x46')][_0xee72('0x26')]);_0x3a7da1['retry']();}reportStatusStrategies[_0x3d9e6a[_0xee72('0x46')][_0xee72('0x26')]]({'operation':_0x3a7da1,'currentAttempt':_0x445929,'retryOptions':_0x1db42d,'job':_0x3f0cb9,'data':_0x115ba0,'entity':_0x3d9e6a});});}catch(_0x56d6dc){_0x3a7da1['retry'](_0x56d6dc);}});}function handleResult(_0xc83746){return function(_0x51789){if(_0xc83746[_0xee72('0x47')]&&_0xc83746[_0xee72('0x14')]&&_0xc83746[_0xee72('0x14')][_0xee72('0x18')]&&!_[_0xee72('0x48')](_0xc83746['email'])){retryer(_0xc83746,_0x51789);}};}function handleJob(_0x45ba77){return function(){try{if(_[_0xee72('0x48')](_0x45ba77[_0xee72('0x1d')])){return logger[_0xee72('0x11')]('subtractNumber\x20null\x20or\x20undefined');}if(_[_0xee72('0x48')](_0x45ba77[_0xee72('0x1e')])){return logger[_0xee72('0x11')](_0xee72('0x49'));}var _0x269282={'startDate':moment()[_0xee72('0x4a')](_0x45ba77[_0xee72('0x1d')],_0x45ba77[_0xee72('0x1e')])[_0xee72('0x1b')](_0xee72('0x4b')),'endDate':moment()[_0xee72('0x1b')](_0xee72('0x4b')),'type':'scheduled','output':_0x45ba77['output'],'name':_0x45ba77[_0xee72('0x17')]};if(!_[_0xee72('0x48')](_0x45ba77[_0xee72('0x4c')])){logger[_0xee72('0x11')](_0xee72('0x4d'),_0x45ba77['DefaultReportId']);return analyticDefaultReportController[_0xee72('0x4e')]({'id':_0x45ba77[_0xee72('0x4c')]},_0x269282)[_0xee72('0xe')](handleResult(_0x45ba77))['catch'](handleError());}if(!_[_0xee72('0x48')](_0x45ba77[_0xee72('0x4f')])){logger[_0xee72('0x11')]('exec\x20custom\x20report\x20id:%s',_0x45ba77[_0xee72('0x4f')]);return analyticCustomReportController[_0xee72('0x4e')]({'id':_0x45ba77[_0xee72('0x4f')]},_0x269282)[_0xee72('0xe')](handleResult(_0x45ba77))['catch'](handleError());}}catch(_0x479cce){logger[_0xee72('0x10')](JSON['stringify'](_0x479cce));}return logger['info'](_0xee72('0x50'));};}function getJobs(_0x3ca13a){var _0x671c7d={};if(_0x3ca13a){_0x671c7d['id']=_0x3ca13a;}return db[_0xee72('0x51')][_0xee72('0x52')]({'where':_0x671c7d,'include':[{'model':db[_0xee72('0x14')],'attributes':['id','name',_0xee72('0x13')],'include':[{'model':db[_0xee72('0x53')],'as':_0xee72('0x18'),'include':[{'model':db[_0xee72('0x54')],'as':_0xee72('0x54')}]}]}]})[_0xee72('0xe')](function(_0x2db7a6){var _0x1d094c=_[_0xee72('0x55')](manager[_0xee72('0x56')]);var _0x327d71=_[_0xee72('0x57')](_0x2db7a6,function(_0xf37ca8){return _0xf37ca8['id']['toString']();});var _0x5b65ab=_[_0xee72('0x58')](_0x2db7a6,function(_0x3a7a23){return _0x3a7a23['id'][_0xee72('0x59')]();});var _0x599267=_0x3ca13a?_0x327d71:_[_0xee72('0x5a')](_0x327d71,_0x1d094c);var _0x540198=_[_0xee72('0x5b')](_0x327d71,_0x1d094c);var _0x403172=_[_0xee72('0x5a')](_0x1d094c,_0x327d71);var _0x14649;var _0x4927c2;for(_0x14649=0x0;_0x14649<_0x403172['length']&&!_0x3ca13a;_0x14649+=0x1){_0x4927c2=_0x403172[_0x14649][_0xee72('0x59')]();if(manager[_0xee72('0x5c')](_0x4927c2)){manager[_0xee72('0x3b')](_0x4927c2);manager[_0xee72('0x5d')](_0x4927c2);logger['info']('delete\x20cron',_0x4927c2);}}logger[_0xee72('0x11')](_0xee72('0x5e'),JSON['stringify'](_0x599267));for(_0x14649=0x0;_0x14649<_0x599267[_0xee72('0x5f')];_0x14649+=0x1){_0x4927c2=_0x599267[_0x14649][_0xee72('0x59')]();if(_0x3ca13a){logger[_0xee72('0x11')](JSON[_0xee72('0x34')](_0x5b65ab[_0x4927c2]));BPromise[_0xee72('0x60')]()[_0xee72('0xe')](handleJob(_0x5b65ab[_0x4927c2]));logger[_0xee72('0x11')](_0xee72('0x61'),_0x5b65ab[_0x4927c2][_0xee72('0x17')],_0x5b65ab[_0x4927c2]['cron']);}else if(_0x5b65ab[_0x4927c2]['cron']&&_0x5b65ab[_0x4927c2][_0xee72('0x62')]&&moment()[_0xee72('0x63')](_0x5b65ab[_0x4927c2]['startAt'],_0x5b65ab[_0x4927c2][_0xee72('0x64')])){manager[_0xee72('0x65')](_0x4927c2,_0x5b65ab[_0x4927c2][_0xee72('0x66')],handleJob(_0x5b65ab[_0x4927c2]));manager[_0xee72('0x67')](_0x4927c2);logger[_0xee72('0x11')](_0xee72('0x68'),_0x5b65ab[_0x4927c2][_0xee72('0x17')],_0x5b65ab[_0x4927c2]['cron']);}else if(manager[_0xee72('0x5c')](_0x4927c2)){manager[_0xee72('0x3b')](_0x4927c2);manager[_0xee72('0x5d')](_0x4927c2);logger[_0xee72('0x11')](_0xee72('0x69'),_0x5b65ab[_0x4927c2][_0xee72('0x17')],_0x5b65ab[_0x4927c2][_0xee72('0x66')]);}}for(_0x14649=0x0,_0x4927c2;_0x14649<_0x540198['length']&&!_0x3ca13a;_0x14649+=0x1){_0x4927c2=_0x540198[_0x14649]['toString']();if(manager[_0xee72('0x5c')](_0x4927c2)){if(_0x5b65ab[_0x4927c2][_0xee72('0x66')]&&_0x5b65ab[_0x4927c2][_0xee72('0x62')]&&moment()[_0xee72('0x63')](_0x5b65ab[_0x4927c2][_0xee72('0x6a')],_0x5b65ab[_0x4927c2][_0xee72('0x64')])){manager[_0xee72('0x6b')](_0x4927c2,_0x5b65ab[_0x4927c2]['cron'],handleJob(_0x5b65ab[_0x4927c2]));logger['info'](_0xee72('0x6c'),_0x5b65ab[_0x4927c2][_0xee72('0x17')],_0x5b65ab[_0x4927c2][_0xee72('0x66')]);}else{manager[_0xee72('0x3b')](_0x4927c2);manager[_0xee72('0x5d')](_0x4927c2);logger[_0xee72('0x11')](_0xee72('0x69'),_0x5b65ab[_0x4927c2][_0xee72('0x17')],_0x5b65ab[_0x4927c2]['cron']);}}}})[_0xee72('0xf')](function(_0x241780){logger[_0xee72('0x10')](JSON[_0xee72('0x34')](_0x241780));});}exports[_0xee72('0x6d')]=function(_0x42810c){return getJobs(_0x42810c);};exports[_0xee72('0x67')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file