MCPcopy Index your code
hub / github.com/FlowiseAI/Flowise / resolveScheduleCron

Function resolveScheduleCron

packages/server/src/services/schedule/utils.ts:560–592  ·  view source on GitHub ↗
(inputs: Record<string, any>)

Source from the content-addressed store, hash-verified

558 * Returns { valid, cronExpression?, error? }.
559 */
560export const resolveScheduleCron = (inputs: Record<string, any>): { valid: boolean; cronExpression?: string; error?: string } => {
561 const scheduleType = (inputs.scheduleType as string) || 'cronExpression'
562 const timezone = (inputs.scheduleTimezone as string) || 'UTC'
563
564 if (scheduleType === 'visualPicker') {
565 const pickerInput: VisualPickerInput = {
566 scheduleFrequency: inputs.scheduleFrequency,
567 scheduleOnMinute: inputs.scheduleOnMinute,
568 scheduleOnTime: inputs.scheduleOnTime,
569 scheduleOnDayOfWeek: inputs.scheduleOnDayOfWeek,
570 scheduleOnDayOfMonth: inputs.scheduleOnDayOfMonth
571 }
572 const pickerResult = validateVisualPickerFields(pickerInput)
573 if (!pickerResult.valid) {
574 return { valid: false, error: pickerResult.error }
575 }
576 const cron = buildCronFromVisualPicker(pickerInput)
577 // Also validate the resulting cron + timezone
578 const cronResult = validateCronExpression(cron, timezone)
579 if (!cronResult.valid) {
580 return { valid: false, error: cronResult.error }
581 }
582 return { valid: true, cronExpression: cron }
583 }
584
585 // scheduleType === 'cronExpression'
586 const expression = inputs.scheduleCronExpression as string
587 const cronResult = validateCronExpression(expression, timezone)
588 if (!cronResult.valid) {
589 return { valid: false, error: cronResult.error }
590 }
591 return { valid: true, cronExpression: expression }
592}
593
594/**
595 * Mode-aware schedule input validator.

Callers 4

validateFlowDataFunction · 0.90
getScheduleStatusFunction · 0.90
utils.test.tsFile · 0.90
canScheduleEnableFunction · 0.85

Calls 3

validateCronExpressionFunction · 0.85

Tested by

no test coverage detected