feat: one-time tasks

This commit is contained in:
2026-07-19 14:55:56 +02:00
parent dd7f0b5df7
commit 5c5e97faae
7 changed files with 47 additions and 18 deletions
+7 -2
View File
@@ -1,6 +1,7 @@
import { SortType } from "@/enums";
import type { RawTask, Task, TaskCreateData } from "@/types";
import { CronExpressionParser } from "cron-parser";
import { isOneTime } from "@/lib/cron";
const TEMPORARY_ID = "tmp";
@@ -27,7 +28,7 @@ export function newTemporaryTask(data: TaskCreateData): Task {
updated_at: new Date(),
check_date: null,
previous_check_date: null,
}
};
}
export function isTemporary(task: Task): boolean {
@@ -35,7 +36,11 @@ export function isTemporary(task: Task): boolean {
}
export function taskNextReset(task: Task): Date | null {
if (task.check_date === null || task.reset_cron === null) {
if (
task.check_date === null ||
task.reset_cron === null ||
isOneTime(task.reset_cron)
) {
return null;
}
try {