refactor: match variables from FE

This commit is contained in:
karishmas6
2024-09-13 08:11:29 +05:30
parent e97f0cee74
commit 0c035ff410

View File

@@ -195,54 +195,55 @@ router.post('/runs/run/:fileName/:runId', async (req, res) => {
}); });
router.put('/schedule/:fileName/', async (req, res) => { router.put('/schedule/:fileName/', async (req, res) => {
console.log(req.body);
try { try {
const { fileName } = req.params; const { fileName } = req.params;
const { const {
frequency, runEvery,
frequencyUnit, runEveryUnit,
startDay, startFrom,
time, atTime,
timezone timezone
} = req.body; } = req.body;
if (!fileName || !frequency || !frequencyUnit || !startDay || !time || !timezone) { if (!fileName || !runEvery || !runEveryUnit || !startFrom || !atTime || !timezone) {
return res.status(400).json({ error: 'Missing required parameters' }); return res.status(400).json({ error: 'Missing required parameters' });
} }
if (!['HOURS', 'DAYS', 'WEEKS', 'MONTHS'].includes(frequencyUnit)) { if (!['HOURS', 'DAYS', 'WEEKS', 'MONTHS'].includes(runEveryUnit)) {
return res.status(400).json({ error: 'Invalid frequency unit' }); return res.status(400).json({ error: 'Invalid runEvery unit' });
} }
if (!moment.tz.zone(timezone)) { if (!moment.tz.zone(timezone)) {
return res.status(400).json({ error: 'Invalid timezone' }); return res.status(400).json({ error: 'Invalid timezone' });
} }
const [hours, minutes] = time.split(':').map(Number); const [hours, minutes] = atTime.split(':').map(Number);
if (isNaN(hours) || isNaN(minutes) || hours < 0 || hours > 23 || minutes < 0 || minutes > 59) { if (isNaN(hours) || isNaN(minutes) || hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {
return res.status(400).json({ error: 'Invalid time format' }); return res.status(400).json({ error: 'Invalid time format' });
} }
const days = ['SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY']; const days = ['SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'];
if (!days.includes(startDay)) { if (!days.includes(startFrom)) {
return res.status(400).json({ error: 'Invalid start day' }); return res.status(400).json({ error: 'Invalid start day' });
} }
let cronExpression; let cronExpression;
switch (frequencyUnit) { switch (runEveryUnit) {
case 'HOURS': case 'HOURS':
cronExpression = `${minutes} */${frequency} * * *`; cronExpression = `${minutes} */${runEvery} * * *`;
break; break;
case 'DAYS': case 'DAYS':
cronExpression = `${minutes} ${hours} */${frequency} * *`; cronExpression = `${minutes} ${hours} */${runEvery} * *`;
break; break;
case 'WEEKS': case 'WEEKS':
const dayIndex = days.indexOf(startDay); const dayIndex = days.indexOf(startFrom);
cronExpression = `${minutes} ${hours} * * ${dayIndex}/${7 * frequency}`; cronExpression = `${minutes} ${hours} * * ${dayIndex}/${7 * runEvery}`;
break; break;
case 'MONTHS': case 'MONTHS':
cronExpression = `${minutes} ${hours} 1-7 */${frequency} *`; cronExpression = `${minutes} ${hours} 1-7 */${runEvery} *`;
if (startDay !== 'SUNDAY') { if (startFrom !== 'SUNDAY') {
const dayIndex = days.indexOf(startDay); const dayIndex = days.indexOf(startFrom);
cronExpression += ` ${dayIndex}`; cronExpression += ` ${dayIndex}`;
} }
break; break;
@@ -271,7 +272,7 @@ router.put('/schedule/:fileName/', async (req, res) => {
// cronExpression, // cronExpression,
// nextRunTime: getNextRunTime(cronExpression, timezone) // nextRunTime: getNextRunTime(cronExpression, timezone)
}); });
} catch (error) { } catch (error) {
console.error('Error scheduling workflow:', error); console.error('Error scheduling workflow:', error);
res.status(500).json({ error: 'Failed to schedule workflow' }); res.status(500).json({ error: 'Failed to schedule workflow' });