2 changed files with 31 additions and 0 deletions
@ -0,0 +1,20 @@ |
|||
import { toggleTask } from "../../../../service/scheduler"; |
|||
import { reloadTask, removeTask } from "../../../../scheduler/engine"; |
|||
|
|||
export default defineWrappedResponseHandler(async (event) => { |
|||
const id = getRouterParam(event, "id"); |
|||
if (!id) return R.throwError(400, "Missing id", null); |
|||
|
|||
const body = await readBody<{ enabled: boolean }>(event); |
|||
|
|||
const task = await toggleTask(id, body.enabled); |
|||
if (!task) return R.throwError(404, "Task not found", null); |
|||
|
|||
if (task.enabled) { |
|||
reloadTask(id); |
|||
} else { |
|||
removeTask(id); |
|||
} |
|||
|
|||
return R.success(task); |
|||
}); |
|||
@ -0,0 +1,11 @@ |
|||
import { triggerTask } from "../../../../scheduler/engine"; |
|||
|
|||
export default defineWrappedResponseHandler(async (event) => { |
|||
const id = getRouterParam(event, "id"); |
|||
if (!id) return R.throwError(400, "Missing id", null); |
|||
|
|||
// Fire and forget — trigger returns immediately, execution is async
|
|||
triggerTask(id).catch(() => {}); |
|||
|
|||
return R.success({ triggered: true }); |
|||
}); |
|||
Loading…
Reference in new issue