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