// routes/api/delete/income.ts import { define } from "../../../utils.ts"; import { deleteIncome } from "../../../services/financhalServices.ts"; export const handler = define.handlers({ async POST(ctx) { const formData = await ctx.req.formData(); const income_id = formData.get("income_id"); const sender = formData.get("sender"); if (!income_id || !sender) { return new Response("Missing income_id or sender", { status: 400 }); } await deleteIncome(income_id.toString()); // Redirect back to the sender URL (must be absolute) const senderPath = sender.toString(); let redirectUrl = senderPath; try { if (senderPath.startsWith("/")) { const url = new URL(ctx.req.url); redirectUrl = url.origin + senderPath; } } catch (_) { // fallback: just use senderPath } return Response.redirect(redirectUrl, 303); }, });