Built motion from commit 20b39a97.|2.6.29
[motion2.git] / server / config / schedule / index.js
index b44848c..f46075c 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x8f6d=['still\x20loading','data','Unrecognized\x20status:','entity','attempt','\x20Attempt\x20#:','dataValues','report\x20status:','isNil','subtractNumber','subtractNumber\x20null\x20or\x20undefined','subtractUnit\x20null\x20or\x20undefined','subtract','YYYY-MM-DD\x20HH:mm:ss','scheduled','output','DefaultReportId','exec\x20defaul\x20report\x20id:%s','runReport','CustomReportId','no\x20report\x20id','Schedule','findAll','MailServerOut','CloudProvider','keys','map','toString','keyBy','intersection','difference','length','exists','deleteJob','delete\x20cron','toRun','resolve','run\x20job','cron','active','startAt','add','start','endAt','update','stop\x20cron','path','moment','cron-job-manager','jayson/promise','bluebird','../logger','schedule','retry','../../api/analyticCustomReport/analyticCustomReport.controller','../../api/analyticDefaultReport/analyticDefaultReport.controller','http','AnalyticExtractedReport','findOne','then','error','info','Try\x20to\x20send\x20a\x20mail\x20to','email','MailAccount','\x22%s\x22\x20<%s>','name','Smtp','user','bcc','Report\x20%s\x20last\x20%s\x20%s','subtractUnit','join','../../files/reports','savename','format','basename','zip','existsSync','Sent','attachments','text','status','message','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','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','request','SendMail','error\x20mail','stringify','catch','case\x20loading','currentAttempt','retryOptions','retries','job','operation','stop'];(function(_0x39d7b3,_0x243a2a){var _0x31d483=function(_0x2f953b){while(--_0x2f953b){_0x39d7b3['push'](_0x39d7b3['shift']());}};_0x31d483(++_0x243a2a);}(_0x8f6d,0x100));var _0xd8f6=function(_0x1104bb,_0x31fbda){_0x1104bb=_0x1104bb-0x0;var _0x1c1c47=_0x8f6d[_0x1104bb];return _0x1c1c47;};'use strict';var fs=require('fs');var util=require('util');var path=require(_0xd8f6('0x0'));var _=require('lodash');var moment=require(_0xd8f6('0x1'));var CronJobManager=require(_0xd8f6('0x2'));var jayson=require(_0xd8f6('0x3'));var BPromise=require(_0xd8f6('0x4'));var logger=require(_0xd8f6('0x5'))(_0xd8f6('0x6'));var db=require('../../mysqldb')['db'];const retry=require(_0xd8f6('0x7'));var analyticCustomReportController=require(_0xd8f6('0x8'));var analyticDefaultReportController=require(_0xd8f6('0x9'));var client=jayson['client'][_0xd8f6('0xa')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0x2792fb){const _0x498c54={};if(typeof _0x2792fb==='number'){_0x498c54['id']=_0x2792fb;}return db[_0xd8f6('0xb')][_0xd8f6('0xc')]({'where':_0x498c54})[_0xd8f6('0xd')](function(_0xe6cc3d){return _0xe6cc3d;})['catch'](function(_0x6b5515){logger[_0xd8f6('0xe')](_0x6b5515);});}function handleSendEmail(_0x258ca8,_0xd08d34){logger[_0xd8f6('0xf')](_0xd8f6('0x10'),_0x258ca8[_0xd8f6('0x11')]);var _0x5af53a=!![];var _0x4eec79=_0x258ca8[_0xd8f6('0x12')]['getSmtpOptions']();var _0x104bc6={'account':_0x4eec79,'message':{'from':util['format'](_0xd8f6('0x13'),_0x258ca8['MailAccount'][_0xd8f6('0x14')],_0x258ca8['MailAccount']['email']||_0x258ca8['MailAccount'][_0xd8f6('0x15')][_0xd8f6('0x16')]),'to':_0x258ca8['email'],'cc':_0x258ca8['cc'],'bcc':_0x258ca8[_0xd8f6('0x17')],'subject':util['format'](_0xd8f6('0x18'),_0xd08d34[_0xd8f6('0x14')],_0x258ca8['subtractNumber'],_0x258ca8[_0xd8f6('0x19')])}};var _0x18d69a=path[_0xd8f6('0x1a')](__dirname,_0xd8f6('0x1b'));var _0xf62af7=_0xd08d34[_0xd8f6('0x1c')];var _0x470154=util[_0xd8f6('0x1d')]('%s.%s',path[_0xd8f6('0x1e')](_0xd08d34['savename'],path['extname'](_0xd08d34['savename'])),_0xd8f6('0x1f'));var _0x2dd4c0=path[_0xd8f6('0x1a')](_0x18d69a,_0xf62af7);var _0x449439=path[_0xd8f6('0x1a')](_0x18d69a,_0x470154);if(fs[_0xd8f6('0x20')](_0x2dd4c0)){_0xd08d34['status']=_0xd8f6('0x21');_0x104bc6['message'][_0xd8f6('0x22')]=[{'filename':_0xf62af7,'path':_0x2dd4c0}];_0x104bc6['message'][_0xd8f6('0x23')]=util['format']('Info\x20report:\x0a%s\x0aPlease\x20see\x20the\x20attachments\x0aThis\x20is\x20an\x20automatically\x20generated\x20email\x20–\x20please\x20do\x20not\x20reply\x20to\x20it.\x0a\x0a',JSON['stringify'](_0xd08d34,null,0x2));}else if(fs[_0xd8f6('0x20')](_0x449439)){_0xd08d34[_0xd8f6('0x24')]=_0xd8f6('0x21');_0x104bc6[_0xd8f6('0x25')]['attachments']=[{'filename':_0x470154,'path':_0x449439}];}else{if(_0xd08d34[_0xd8f6('0x24')]===_0xd8f6('0x26')){_0x104bc6[_0xd8f6('0x25')]['text']=_0xd8f6('0x27');if(!_0x258ca8[_0xd8f6('0x28')]){_0x5af53a=![];logger['info'](_0xd8f6('0x29'));}}else if(_0xd08d34[_0xd8f6('0x24')]===_0xd8f6('0x2a')){_0x104bc6[_0xd8f6('0x25')]['text']='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(_0xd08d34[_0xd8f6('0x24')]===_0xd8f6('0x2b')){_0x104bc6[_0xd8f6('0x25')][_0xd8f6('0x23')]=_0xd8f6('0x2c');}else if(_0xd08d34['status']===_0xd8f6('0x2d')){_0x104bc6[_0xd8f6('0x25')]['text']=_0xd8f6('0x2e');}else{logger['error']('[handleSendEmail]\x20Unrecognized\x20status:',_0xd08d34['status']);}}if(_0x5af53a){return client[_0xd8f6('0x2f')](_0xd8f6('0x30'),_0x104bc6)[_0xd8f6('0xd')](function(_0x588432){if(_0x588432[_0xd8f6('0xe')]){return logger[_0xd8f6('0xe')](_0xd8f6('0x31'),JSON[_0xd8f6('0x32')](_0x588432));}return logger['info']('email\x20sent');})[_0xd8f6('0x33')](function(_0x30899d){return logger[_0xd8f6('0xe')]('error\x20mail',JSON[_0xd8f6('0x32')](_0x30899d));});}}function handleError(){return function(_0x765e65){return logger['error'](JSON[_0xd8f6('0x32')](_0x765e65));};}function loading(_0x24c43e){logger[_0xd8f6('0xf')](_0xd8f6('0x34'));if(_0x24c43e[_0xd8f6('0x35')]===_0x24c43e[_0xd8f6('0x36')][_0xd8f6('0x37')]){handleSendEmail(_0x24c43e[_0xd8f6('0x38')],_0x24c43e['data']);_0x24c43e[_0xd8f6('0x39')][_0xd8f6('0x3a')]();}else{_0x24c43e[_0xd8f6('0x39')]['retry'](_0xd8f6('0x3b'));}}function completed(_0x330aad){logger[_0xd8f6('0xf')]('case\x20completed');handleSendEmail(_0x330aad['job'],_0x330aad[_0xd8f6('0x3c')]);_0x330aad[_0xd8f6('0x39')]['stop']();}function empty(_0x117e3f){logger[_0xd8f6('0xf')]('case\x20empty');handleSendEmail(_0x117e3f[_0xd8f6('0x38')],_0x117e3f['data']);_0x117e3f['operation'][_0xd8f6('0x3a')]();}function failed(_0x2eca1a){logger[_0xd8f6('0xf')]('case\x20failed');handleSendEmail(_0x2eca1a['job'],_0x2eca1a[_0xd8f6('0x3c')]);_0x2eca1a['operation'][_0xd8f6('0x3a')]();}function urecognized(_0x4103aa){logger[_0xd8f6('0xe')](_0xd8f6('0x3d'),_0x4103aa[_0xd8f6('0x3e')]['dataValues'][_0xd8f6('0x24')]);_0x4103aa[_0xd8f6('0x39')]['stop']();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x2b602c,_0xa9f1ee){const _0x377ab3={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x309978=retry['operation'](_0x377ab3);_0x309978[_0xd8f6('0x3f')](_0xc58e3a=>{logger[_0xd8f6('0xf')]('Job\x20ID\x20'+_0x2b602c['id']+_0xd8f6('0x40')+_0xc58e3a);try{getReportData(_0xa9f1ee['id'])['then'](function(_0x3d7667){_0xa9f1ee=_0x3d7667;logger[_0xd8f6('0xf')]('report\x20status:',_0x3d7667[_0xd8f6('0x41')]['status']);if(!reportStatusStrategies[_0x3d7667[_0xd8f6('0x41')][_0xd8f6('0x24')]]){logger[_0xd8f6('0xe')](_0xd8f6('0x42'),_0x3d7667[_0xd8f6('0x41')][_0xd8f6('0x24')]);_0x309978['retry']();}reportStatusStrategies[_0x3d7667[_0xd8f6('0x41')][_0xd8f6('0x24')]]({'operation':_0x309978,'currentAttempt':_0xc58e3a,'retryOptions':_0x377ab3,'job':_0x2b602c,'data':_0xa9f1ee,'entity':_0x3d7667});});}catch(_0x2884ca){_0x309978[_0xd8f6('0x7')](_0x2884ca);}});}function handleResult(_0x530140){return function(_0x1230e8){if(_0x530140['sendMail']&&_0x530140['MailAccount']&&_0x530140[_0xd8f6('0x12')][_0xd8f6('0x15')]&&!_['isNil'](_0x530140['email'])){retryer(_0x530140,_0x1230e8);}};}function handleJob(_0x1d3913){return function(){try{if(_[_0xd8f6('0x43')](_0x1d3913[_0xd8f6('0x44')])){return logger[_0xd8f6('0xf')](_0xd8f6('0x45'));}if(_[_0xd8f6('0x43')](_0x1d3913[_0xd8f6('0x19')])){return logger[_0xd8f6('0xf')](_0xd8f6('0x46'));}var _0x269dfb={'startDate':moment()[_0xd8f6('0x47')](_0x1d3913['subtractNumber'],_0x1d3913[_0xd8f6('0x19')])[_0xd8f6('0x1d')](_0xd8f6('0x48')),'endDate':moment()[_0xd8f6('0x1d')]('YYYY-MM-DD\x20HH:mm:ss'),'type':_0xd8f6('0x49'),'output':_0x1d3913[_0xd8f6('0x4a')],'name':_0x1d3913[_0xd8f6('0x14')]};if(!_[_0xd8f6('0x43')](_0x1d3913[_0xd8f6('0x4b')])){logger[_0xd8f6('0xf')](_0xd8f6('0x4c'),_0x1d3913['DefaultReportId']);return analyticDefaultReportController[_0xd8f6('0x4d')]({'id':_0x1d3913[_0xd8f6('0x4b')]},_0x269dfb)[_0xd8f6('0xd')](handleResult(_0x1d3913))[_0xd8f6('0x33')](handleError());}if(!_['isNil'](_0x1d3913['CustomReportId'])){logger['info']('exec\x20custom\x20report\x20id:%s',_0x1d3913[_0xd8f6('0x4e')]);return analyticCustomReportController[_0xd8f6('0x4d')]({'id':_0x1d3913[_0xd8f6('0x4e')]},_0x269dfb)[_0xd8f6('0xd')](handleResult(_0x1d3913))[_0xd8f6('0x33')](handleError());}}catch(_0x29d648){logger['error'](JSON[_0xd8f6('0x32')](_0x29d648));}return logger[_0xd8f6('0xf')](_0xd8f6('0x4f'));};}function getJobs(_0x15c1b0){var _0x2ddaff={};if(_0x15c1b0){_0x2ddaff['id']=_0x15c1b0;}return db[_0xd8f6('0x50')][_0xd8f6('0x51')]({'where':_0x2ddaff,'include':[{'model':db[_0xd8f6('0x12')],'attributes':['id',_0xd8f6('0x14'),'email'],'include':[{'model':db[_0xd8f6('0x52')],'as':_0xd8f6('0x15'),'include':[{'model':db['CloudProvider'],'as':_0xd8f6('0x53')}]}]}]})[_0xd8f6('0xd')](function(_0x4d30d4){var _0x35dd44=_[_0xd8f6('0x54')](manager['jobs']);var _0x2c7ba7=_[_0xd8f6('0x55')](_0x4d30d4,function(_0x563a08){return _0x563a08['id'][_0xd8f6('0x56')]();});var _0x82c53e=_[_0xd8f6('0x57')](_0x4d30d4,function(_0x51bc67){return _0x51bc67['id'][_0xd8f6('0x56')]();});var _0x361a1d=_0x15c1b0?_0x2c7ba7:_['difference'](_0x2c7ba7,_0x35dd44);var _0x1fb907=_[_0xd8f6('0x58')](_0x2c7ba7,_0x35dd44);var _0x55d3e4=_[_0xd8f6('0x59')](_0x35dd44,_0x2c7ba7);var _0x4526fd;var _0x5c55b3;for(_0x4526fd=0x0;_0x4526fd<_0x55d3e4[_0xd8f6('0x5a')]&&!_0x15c1b0;_0x4526fd+=0x1){_0x5c55b3=_0x55d3e4[_0x4526fd][_0xd8f6('0x56')]();if(manager[_0xd8f6('0x5b')](_0x5c55b3)){manager['stop'](_0x5c55b3);manager[_0xd8f6('0x5c')](_0x5c55b3);logger[_0xd8f6('0xf')](_0xd8f6('0x5d'),_0x5c55b3);}}logger[_0xd8f6('0xf')](_0xd8f6('0x5e'),JSON[_0xd8f6('0x32')](_0x361a1d));for(_0x4526fd=0x0;_0x4526fd<_0x361a1d[_0xd8f6('0x5a')];_0x4526fd+=0x1){_0x5c55b3=_0x361a1d[_0x4526fd][_0xd8f6('0x56')]();if(_0x15c1b0){logger[_0xd8f6('0xf')](JSON[_0xd8f6('0x32')](_0x82c53e[_0x5c55b3]));BPromise[_0xd8f6('0x5f')]()[_0xd8f6('0xd')](handleJob(_0x82c53e[_0x5c55b3]));logger[_0xd8f6('0xf')](_0xd8f6('0x60'),_0x82c53e[_0x5c55b3][_0xd8f6('0x14')],_0x82c53e[_0x5c55b3][_0xd8f6('0x61')]);}else if(_0x82c53e[_0x5c55b3][_0xd8f6('0x61')]&&_0x82c53e[_0x5c55b3][_0xd8f6('0x62')]&&moment()['isBetween'](_0x82c53e[_0x5c55b3][_0xd8f6('0x63')],_0x82c53e[_0x5c55b3]['endAt'])){manager[_0xd8f6('0x64')](_0x5c55b3,_0x82c53e[_0x5c55b3][_0xd8f6('0x61')],handleJob(_0x82c53e[_0x5c55b3]));manager[_0xd8f6('0x65')](_0x5c55b3);logger['info']('add\x20cron',_0x82c53e[_0x5c55b3][_0xd8f6('0x14')],_0x82c53e[_0x5c55b3][_0xd8f6('0x61')]);}else if(manager[_0xd8f6('0x5b')](_0x5c55b3)){manager[_0xd8f6('0x3a')](_0x5c55b3);manager[_0xd8f6('0x5c')](_0x5c55b3);logger[_0xd8f6('0xf')]('stop\x20cron',_0x82c53e[_0x5c55b3][_0xd8f6('0x14')],_0x82c53e[_0x5c55b3]['cron']);}}for(_0x4526fd=0x0,_0x5c55b3;_0x4526fd<_0x1fb907[_0xd8f6('0x5a')]&&!_0x15c1b0;_0x4526fd+=0x1){_0x5c55b3=_0x1fb907[_0x4526fd][_0xd8f6('0x56')]();if(manager[_0xd8f6('0x5b')](_0x5c55b3)){if(_0x82c53e[_0x5c55b3][_0xd8f6('0x61')]&&_0x82c53e[_0x5c55b3][_0xd8f6('0x62')]&&moment()['isBetween'](_0x82c53e[_0x5c55b3][_0xd8f6('0x63')],_0x82c53e[_0x5c55b3][_0xd8f6('0x66')])){manager[_0xd8f6('0x67')](_0x5c55b3,_0x82c53e[_0x5c55b3][_0xd8f6('0x61')],handleJob(_0x82c53e[_0x5c55b3]));logger['info']('update\x20cron',_0x82c53e[_0x5c55b3][_0xd8f6('0x14')],_0x82c53e[_0x5c55b3]['cron']);}else{manager[_0xd8f6('0x3a')](_0x5c55b3);manager[_0xd8f6('0x5c')](_0x5c55b3);logger[_0xd8f6('0xf')](_0xd8f6('0x68'),_0x82c53e[_0x5c55b3][_0xd8f6('0x14')],_0x82c53e[_0x5c55b3][_0xd8f6('0x61')]);}}}})[_0xd8f6('0x33')](function(_0x19dd2a){logger['error'](JSON[_0xd8f6('0x32')](_0x19dd2a));});}exports['run']=function(_0x227fe3){return getJobs(_0x227fe3);};exports[_0xd8f6('0x65')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file
+var _0x871a=['path','cron-job-manager','bluebird','../logger','schedule','../../mysqldb','retry','../../api/analyticDefaultReport/analyticDefaultReport.controller','client','http','number','AnalyticExtractedReport','findOne','error','info','email','getSmtpOptions','format','\x22%s\x22\x20<%s>','MailAccount','Smtp','user','bcc','Report\x20%s\x20last\x20%s\x20%s','name','join','../../files/reports','savename','%s.%s','extname','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','stringify','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','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','catch','error\x20mail','case\x20loading','currentAttempt','retryOptions','retries','job','data','operation','stop','still\x20loading','case\x20completed','case\x20empty','case\x20failed','Unrecognized\x20status:','attempt','Job\x20ID\x20','dataValues','isNil','subtractNumber','subtractUnit\x20null\x20or\x20undefined','subtract','subtractUnit','YYYY-MM-DD\x20HH:mm:ss','scheduled','output','DefaultReportId','runReport','then','exec\x20custom\x20report\x20id:%s','CustomReportId','no\x20report\x20id','Schedule','findAll','CloudProvider','keys','jobs','map','keyBy','toString','difference','intersection','length','delete\x20cron','toRun','run\x20job','active','isBetween','startAt','endAt','add','cron','add\x20cron','exists','deleteJob','stop\x20cron','update','update\x20cron','run','start','util'];(function(_0x32745c,_0x24984a){var _0x45cb9d=function(_0xdf6de5){while(--_0xdf6de5){_0x32745c['push'](_0x32745c['shift']());}};_0x45cb9d(++_0x24984a);}(_0x871a,0xdb));var _0xa871=function(_0x197837,_0x439ae2){_0x197837=_0x197837-0x0;var _0x3eed5f=_0x871a[_0x197837];return _0x3eed5f;};'use strict';var fs=require('fs');var util=require(_0xa871('0x0'));var path=require(_0xa871('0x1'));var _=require('lodash');var moment=require('moment');var CronJobManager=require(_0xa871('0x2'));var jayson=require('jayson/promise');var BPromise=require(_0xa871('0x3'));var logger=require(_0xa871('0x4'))(_0xa871('0x5'));var db=require(_0xa871('0x6'))['db'];const retry=require(_0xa871('0x7'));var analyticCustomReportController=require('../../api/analyticCustomReport/analyticCustomReport.controller');var analyticDefaultReportController=require(_0xa871('0x8'));var client=jayson[_0xa871('0x9')][_0xa871('0xa')]({'port':0x232b});var manager=new CronJobManager();function getReportData(_0xa38209){const _0x2fa2ec={};if(typeof _0xa38209===_0xa871('0xb')){_0x2fa2ec['id']=_0xa38209;}return db[_0xa871('0xc')][_0xa871('0xd')]({'where':_0x2fa2ec})['then'](function(_0x2e2c08){return _0x2e2c08;})['catch'](function(_0x2701b9){logger[_0xa871('0xe')](_0x2701b9);});}function handleSendEmail(_0x310de9,_0x3a6952){logger[_0xa871('0xf')]('Try\x20to\x20send\x20a\x20mail\x20to',_0x310de9[_0xa871('0x10')]);var _0x270766=!![];var _0x37408f=_0x310de9['MailAccount'][_0xa871('0x11')]();var _0xeb40f3={'account':_0x37408f,'message':{'from':util[_0xa871('0x12')](_0xa871('0x13'),_0x310de9[_0xa871('0x14')]['name'],_0x310de9['MailAccount'][_0xa871('0x10')]||_0x310de9[_0xa871('0x14')][_0xa871('0x15')][_0xa871('0x16')]),'to':_0x310de9[_0xa871('0x10')],'cc':_0x310de9['cc'],'bcc':_0x310de9[_0xa871('0x17')],'subject':util['format'](_0xa871('0x18'),_0x3a6952[_0xa871('0x19')],_0x310de9['subtractNumber'],_0x310de9['subtractUnit'])}};var _0xa663c6=path[_0xa871('0x1a')](__dirname,_0xa871('0x1b'));var _0x1c8db8=_0x3a6952[_0xa871('0x1c')];var _0x4f107d=util[_0xa871('0x12')](_0xa871('0x1d'),path['basename'](_0x3a6952[_0xa871('0x1c')],path[_0xa871('0x1e')](_0x3a6952['savename'])),'zip');var _0x46756b=path[_0xa871('0x1a')](_0xa663c6,_0x1c8db8);var _0x440606=path['join'](_0xa663c6,_0x4f107d);if(fs[_0xa871('0x1f')](_0x46756b)){_0x3a6952[_0xa871('0x20')]=_0xa871('0x21');_0xeb40f3[_0xa871('0x22')][_0xa871('0x23')]=[{'filename':_0x1c8db8,'path':_0x46756b}];_0xeb40f3[_0xa871('0x22')][_0xa871('0x24')]=util['format'](_0xa871('0x25'),JSON[_0xa871('0x26')](_0x3a6952,null,0x2));}else if(fs['existsSync'](_0x440606)){_0x3a6952[_0xa871('0x20')]=_0xa871('0x21');_0xeb40f3[_0xa871('0x22')]['attachments']=[{'filename':_0x4f107d,'path':_0x440606}];}else{if(_0x3a6952[_0xa871('0x20')]==='Empty'){_0xeb40f3[_0xa871('0x22')][_0xa871('0x24')]=_0xa871('0x27');if(!_0x310de9[_0xa871('0x28')]){_0x270766=![];logger[_0xa871('0xf')](_0xa871('0x29'));}}else if(_0x3a6952[_0xa871('0x20')]===_0xa871('0x2a')){_0xeb40f3[_0xa871('0x22')][_0xa871('0x24')]=_0xa871('0x2b');}else if(_0x3a6952[_0xa871('0x20')]===_0xa871('0x2c')){_0xeb40f3[_0xa871('0x22')][_0xa871('0x24')]='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(_0x3a6952[_0xa871('0x20')]===_0xa871('0x2d')){_0xeb40f3[_0xa871('0x22')][_0xa871('0x24')]=_0xa871('0x2e');}else{logger[_0xa871('0xe')](_0xa871('0x2f'),_0x3a6952[_0xa871('0x20')]);}}if(_0x270766){return client[_0xa871('0x30')](_0xa871('0x31'),_0xeb40f3)['then'](function(_0xcde725){if(_0xcde725[_0xa871('0xe')]){return logger['error']('error\x20mail',JSON['stringify'](_0xcde725));}return logger[_0xa871('0xf')]('email\x20sent');})[_0xa871('0x32')](function(_0xa5e46f){return logger[_0xa871('0xe')](_0xa871('0x33'),JSON['stringify'](_0xa5e46f));});}}function handleError(){return function(_0x5b363e){return logger[_0xa871('0xe')](JSON[_0xa871('0x26')](_0x5b363e));};}function loading(_0x4e450c){logger[_0xa871('0xf')](_0xa871('0x34'));if(_0x4e450c[_0xa871('0x35')]===_0x4e450c[_0xa871('0x36')][_0xa871('0x37')]){handleSendEmail(_0x4e450c[_0xa871('0x38')],_0x4e450c[_0xa871('0x39')]);_0x4e450c[_0xa871('0x3a')][_0xa871('0x3b')]();}else{_0x4e450c['operation']['retry'](_0xa871('0x3c'));}}function completed(_0x26c5af){logger[_0xa871('0xf')](_0xa871('0x3d'));handleSendEmail(_0x26c5af['job'],_0x26c5af[_0xa871('0x39')]);_0x26c5af['operation'][_0xa871('0x3b')]();}function empty(_0x3d1128){logger[_0xa871('0xf')](_0xa871('0x3e'));handleSendEmail(_0x3d1128[_0xa871('0x38')],_0x3d1128[_0xa871('0x39')]);_0x3d1128[_0xa871('0x3a')]['stop']();}function failed(_0x20e0fa){logger[_0xa871('0xf')](_0xa871('0x3f'));handleSendEmail(_0x20e0fa[_0xa871('0x38')],_0x20e0fa[_0xa871('0x39')]);_0x20e0fa[_0xa871('0x3a')]['stop']();}function urecognized(_0x49d58f){logger[_0xa871('0xe')](_0xa871('0x40'),_0x49d58f['entity']['dataValues'][_0xa871('0x20')]);_0x49d58f[_0xa871('0x3a')][_0xa871('0x3b')]();}const reportStatusStrategies={'Loading':loading,'Completed':completed,'Empty':empty,'Failed':failed,'Unrecognized':urecognized};function retryer(_0x55b2ce,_0x4e1b0c){const _0x411c3d={'retries':0x3,'factor':0x2,'minTimeout':0x5b*0x3e8,'maxTimeout':0xa*0x3c*0x3e8};const _0x56b8c6=retry[_0xa871('0x3a')](_0x411c3d);_0x56b8c6[_0xa871('0x41')](_0xf7157f=>{logger[_0xa871('0xf')](_0xa871('0x42')+_0x55b2ce['id']+'\x20Attempt\x20#:'+_0xf7157f);try{getReportData(_0x4e1b0c['id'])['then'](function(_0x267cd8){_0x4e1b0c=_0x267cd8;logger[_0xa871('0xf')]('report\x20status:',_0x267cd8[_0xa871('0x43')][_0xa871('0x20')]);if(!reportStatusStrategies[_0x267cd8[_0xa871('0x43')][_0xa871('0x20')]]){logger[_0xa871('0xe')]('report\x20status:',_0x267cd8[_0xa871('0x43')][_0xa871('0x20')]);_0x56b8c6[_0xa871('0x7')]();}reportStatusStrategies[_0x267cd8[_0xa871('0x43')]['status']]({'operation':_0x56b8c6,'currentAttempt':_0xf7157f,'retryOptions':_0x411c3d,'job':_0x55b2ce,'data':_0x4e1b0c,'entity':_0x267cd8});});}catch(_0x1c3aaa){_0x56b8c6[_0xa871('0x7')](_0x1c3aaa);}});}function handleResult(_0x558c4c){return function(_0x3772bd){if(_0x558c4c['sendMail']&&_0x558c4c[_0xa871('0x14')]&&_0x558c4c['MailAccount'][_0xa871('0x15')]&&!_[_0xa871('0x44')](_0x558c4c[_0xa871('0x10')])){retryer(_0x558c4c,_0x3772bd);}};}function handleJob(_0x43f895){return function(){try{if(_['isNil'](_0x43f895[_0xa871('0x45')])){return logger[_0xa871('0xf')]('subtractNumber\x20null\x20or\x20undefined');}if(_[_0xa871('0x44')](_0x43f895['subtractUnit'])){return logger[_0xa871('0xf')](_0xa871('0x46'));}var _0x4e1274={'startDate':moment()[_0xa871('0x47')](_0x43f895['subtractNumber'],_0x43f895[_0xa871('0x48')])['format']('YYYY-MM-DD\x20HH:mm:ss'),'endDate':moment()[_0xa871('0x12')](_0xa871('0x49')),'type':_0xa871('0x4a'),'output':_0x43f895[_0xa871('0x4b')],'name':_0x43f895[_0xa871('0x19')]};if(!_[_0xa871('0x44')](_0x43f895[_0xa871('0x4c')])){logger[_0xa871('0xf')]('exec\x20defaul\x20report\x20id:%s',_0x43f895[_0xa871('0x4c')]);return analyticDefaultReportController[_0xa871('0x4d')]({'id':_0x43f895[_0xa871('0x4c')]},_0x4e1274)[_0xa871('0x4e')](handleResult(_0x43f895))[_0xa871('0x32')](handleError());}if(!_[_0xa871('0x44')](_0x43f895['CustomReportId'])){logger[_0xa871('0xf')](_0xa871('0x4f'),_0x43f895[_0xa871('0x50')]);return analyticCustomReportController['runReport']({'id':_0x43f895[_0xa871('0x50')]},_0x4e1274)[_0xa871('0x4e')](handleResult(_0x43f895))[_0xa871('0x32')](handleError());}}catch(_0x3fa9c6){logger[_0xa871('0xe')](JSON[_0xa871('0x26')](_0x3fa9c6));}return logger[_0xa871('0xf')](_0xa871('0x51'));};}function getJobs(_0x1e38ba){var _0x5ee9fb={};if(_0x1e38ba){_0x5ee9fb['id']=_0x1e38ba;}return db[_0xa871('0x52')][_0xa871('0x53')]({'where':_0x5ee9fb,'include':[{'model':db[_0xa871('0x14')],'attributes':['id',_0xa871('0x19'),_0xa871('0x10')],'include':[{'model':db['MailServerOut'],'as':'Smtp','include':[{'model':db['CloudProvider'],'as':_0xa871('0x54')}]}]}]})[_0xa871('0x4e')](function(_0xe62219){var _0x17e2a3=_[_0xa871('0x55')](manager[_0xa871('0x56')]);var _0x57c587=_[_0xa871('0x57')](_0xe62219,function(_0x46f3e6){return _0x46f3e6['id']['toString']();});var _0x1ed617=_[_0xa871('0x58')](_0xe62219,function(_0x35f38d){return _0x35f38d['id'][_0xa871('0x59')]();});var _0x374360=_0x1e38ba?_0x57c587:_[_0xa871('0x5a')](_0x57c587,_0x17e2a3);var _0x47bf28=_[_0xa871('0x5b')](_0x57c587,_0x17e2a3);var _0xf7c8=_[_0xa871('0x5a')](_0x17e2a3,_0x57c587);var _0x584efb;var _0x19a0da;for(_0x584efb=0x0;_0x584efb<_0xf7c8[_0xa871('0x5c')]&&!_0x1e38ba;_0x584efb+=0x1){_0x19a0da=_0xf7c8[_0x584efb][_0xa871('0x59')]();if(manager['exists'](_0x19a0da)){manager[_0xa871('0x3b')](_0x19a0da);manager['deleteJob'](_0x19a0da);logger[_0xa871('0xf')](_0xa871('0x5d'),_0x19a0da);}}logger['info'](_0xa871('0x5e'),JSON[_0xa871('0x26')](_0x374360));for(_0x584efb=0x0;_0x584efb<_0x374360[_0xa871('0x5c')];_0x584efb+=0x1){_0x19a0da=_0x374360[_0x584efb][_0xa871('0x59')]();if(_0x1e38ba){logger[_0xa871('0xf')](JSON[_0xa871('0x26')](_0x1ed617[_0x19a0da]));BPromise['resolve']()[_0xa871('0x4e')](handleJob(_0x1ed617[_0x19a0da]));logger[_0xa871('0xf')](_0xa871('0x5f'),_0x1ed617[_0x19a0da][_0xa871('0x19')],_0x1ed617[_0x19a0da]['cron']);}else if(_0x1ed617[_0x19a0da]['cron']&&_0x1ed617[_0x19a0da][_0xa871('0x60')]&&moment()[_0xa871('0x61')](_0x1ed617[_0x19a0da][_0xa871('0x62')],_0x1ed617[_0x19a0da][_0xa871('0x63')])){manager[_0xa871('0x64')](_0x19a0da,_0x1ed617[_0x19a0da][_0xa871('0x65')],handleJob(_0x1ed617[_0x19a0da]));manager['start'](_0x19a0da);logger['info'](_0xa871('0x66'),_0x1ed617[_0x19a0da][_0xa871('0x19')],_0x1ed617[_0x19a0da][_0xa871('0x65')]);}else if(manager[_0xa871('0x67')](_0x19a0da)){manager[_0xa871('0x3b')](_0x19a0da);manager[_0xa871('0x68')](_0x19a0da);logger[_0xa871('0xf')](_0xa871('0x69'),_0x1ed617[_0x19a0da][_0xa871('0x19')],_0x1ed617[_0x19a0da][_0xa871('0x65')]);}}for(_0x584efb=0x0,_0x19a0da;_0x584efb<_0x47bf28[_0xa871('0x5c')]&&!_0x1e38ba;_0x584efb+=0x1){_0x19a0da=_0x47bf28[_0x584efb][_0xa871('0x59')]();if(manager['exists'](_0x19a0da)){if(_0x1ed617[_0x19a0da][_0xa871('0x65')]&&_0x1ed617[_0x19a0da][_0xa871('0x60')]&&moment()['isBetween'](_0x1ed617[_0x19a0da][_0xa871('0x62')],_0x1ed617[_0x19a0da][_0xa871('0x63')])){manager[_0xa871('0x6a')](_0x19a0da,_0x1ed617[_0x19a0da][_0xa871('0x65')],handleJob(_0x1ed617[_0x19a0da]));logger['info'](_0xa871('0x6b'),_0x1ed617[_0x19a0da][_0xa871('0x19')],_0x1ed617[_0x19a0da][_0xa871('0x65')]);}else{manager['stop'](_0x19a0da);manager[_0xa871('0x68')](_0x19a0da);logger[_0xa871('0xf')](_0xa871('0x69'),_0x1ed617[_0x19a0da][_0xa871('0x19')],_0x1ed617[_0x19a0da][_0xa871('0x65')]);}}}})[_0xa871('0x32')](function(_0x1c2863){logger[_0xa871('0xe')](JSON['stringify'](_0x1c2863));});}exports[_0xa871('0x6c')]=function(_0x74e04){return getJobs(_0x74e04);};exports[_0xa871('0x6d')]=function(){setInterval(function(){return getJobs();},0x3c*0x3e8);return getJobs();};
\ No newline at end of file