n8n/packages/nodes-base/nodes/Schedule/SchedulerInterface.ts
कारतोफ्फेलस्क्रिप्ट™ 09f2cf9eaf
refactor(core): Centralize CronJob management (#10033)
2024-07-16 20:42:48 +02:00

54 lines
992 B
TypeScript

import type { CronExpression } from 'n8n-workflow';
export type IRecurrenceRule =
| { activated: false }
| {
activated: true;
index: number;
intervalSize: number;
typeInterval: 'hours' | 'days' | 'weeks' | 'months';
};
export type ScheduleInterval =
| {
field: 'cronExpression';
expression: CronExpression;
}
| {
field: 'seconds';
secondsInterval: number;
}
| {
field: 'minutes';
minutesInterval: number;
}
| {
field: 'hours';
hoursInterval: number;
triggerAtMinute?: number;
}
| {
field: 'days';
daysInterval: number;
triggerAtHour?: number;
triggerAtMinute?: number;
}
| {
field: 'weeks';
weeksInterval: number;
triggerAtDay: number[];
triggerAtHour?: number;
triggerAtMinute?: number;
}
| {
field: 'months';
monthsInterval: number;
triggerAtDayOfMonth?: number;
triggerAtHour?: number;
triggerAtMinute?: number;
};
export interface Rule {
interval: ScheduleInterval[];
}