1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/common/entities/task/TaskScheduleDTO.ts
2019-08-20 12:54:45 +02:00

32 lines
713 B
TypeScript

export enum TaskTriggerType {
never = 1, scheduled = 2, periodic = 3
}
export interface TaskTrigger {
type: TaskTriggerType;
}
export interface NeverTaskTrigger {
type: TaskTriggerType.never;
}
export interface ScheduledTaskTrigger extends TaskTrigger {
type: TaskTriggerType.scheduled;
time: number; // data time
}
export interface PeriodicTaskTrigger extends TaskTrigger {
type: TaskTriggerType.periodic;
periodicity: number; // 1-7: week days 8+ every x days
atTime: number; // day time
}
export interface TaskScheduleDTO {
priority: number;
name?: string;
id?: string;
taskName: string;
config: any;
trigger: NeverTaskTrigger | ScheduledTaskTrigger | PeriodicTaskTrigger;
}