25 lines
743 B
TypeScript

import { requireUser } from "../../utils/auth";
import { getActiveCooldown, cancelCooldown } from "../../db/cooldown";
/**
* POST /api/cooldown/cancel
* User changes their mind: cancels the cooldown request.
* The DNS protection REMAINS active — this only removes the pending cooldown
* so they would need to start a new 24h wait if they decide to disable again.
*/
export default defineEventHandler(async (event) => {
const user = await requireUser(event);
const cooldown = await getActiveCooldown(user.id);
if (!cooldown) {
throw createError({
statusCode: 404,
data: { error: "no_active_cooldown" },
});
}
await cancelCooldown(cooldown.id);
return { success: true, data: { cancelled: true } };
});