in public/pages/CreateMonitor/containers/CreateMonitor/utils/formikToMonitor.js [393:426]
export function buildSchedule(scheduleType, values) {
const {
period,
daily,
weekly,
monthly: { type, day },
cronExpression,
timezone,
} = values;
switch (scheduleType) {
case 'interval': {
return { period };
}
case 'daily': {
return { cron: { expression: `0 ${daily} * * *`, timezone } };
}
case 'weekly': {
const daysOfWeek = Object.entries(weekly)
.filter(([day, checked]) => checked)
.map(([day]) => day.toUpperCase())
.join(',');
return { cron: { expression: `0 ${daily} * * ${daysOfWeek}`, timezone } };
}
case 'monthly': {
let dayOfMonth = '?';
if (type === 'day') {
dayOfMonth = day;
}
return { cron: { expression: `0 ${daily} ${dayOfMonth} */1 *`, timezone } };
}
case 'cronExpression':
return { cron: { expression: cronExpression, timezone } };
}
}