feat: use settings.dayOfMonth for MONTHS cron

This commit is contained in:
karishmas6
2024-10-29 01:27:13 +05:30
parent e423699df6
commit ebbcbbb8e0

View File

@@ -323,7 +323,7 @@ router.post('/runs/run/:id', requireSignIn, async (req: AuthenticatedRequest, re
router.put('/schedule/:id/', requireSignIn, async (req: AuthenticatedRequest, res) => { router.put('/schedule/:id/', requireSignIn, async (req: AuthenticatedRequest, res) => {
try { try {
const { id } = req.params; const { id } = req.params;
const { runEvery, runEveryUnit, startFrom, atTimeStart, atTimeEnd, timezone } = req.body; const { runEvery, runEveryUnit, startFrom, dayOfMonth, atTimeStart, atTimeEnd, timezone } = req.body;
const robot = await Robot.findOne({ where: { 'recording_meta.id': id } }); const robot = await Robot.findOne({ where: { 'recording_meta.id': id } });
if (!robot) { if (!robot) {
@@ -373,7 +373,8 @@ router.put('/schedule/:id/', requireSignIn, async (req: AuthenticatedRequest, re
cronExpression = `${startMinutes} ${startHours} * * ${dayIndex}`; cronExpression = `${startMinutes} ${startHours} * * ${dayIndex}`;
break; break;
case 'MONTHS': case 'MONTHS':
cronExpression = `${startMinutes} ${startHours} ${startFrom === '1' ? '1' : '1-7'} * *`; // todo: handle leap year
cronExpression = `0 ${settings.atTimeStart} ${settings.dayOfMonth} * *`;
if (startFrom !== 'SUNDAY') { if (startFrom !== 'SUNDAY') {
cronExpression += ` ${dayIndex}`; cronExpression += ` ${dayIndex}`;
} }
@@ -410,6 +411,7 @@ router.put('/schedule/:id/', requireSignIn, async (req: AuthenticatedRequest, re
runEvery, runEvery,
runEveryUnit, runEveryUnit,
startFrom, startFrom,
dayOfMonth,
atTimeStart, atTimeStart,
atTimeEnd, atTimeEnd,
timezone, timezone,