2024-07-16 11:42:48 -07:00
|
|
|
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[];
|
2023-02-01 13:53:05 -08:00
|
|
|
}
|