// routes/api/delete/tenant_invite.ts import { define } from "../../../utils.ts"; import { deleteTenantInvite } from "../../../services/tenantInviteService.ts"; import { SessionCookie } from "../../auth/callback.ts"; export const handler = define.handlers({ async POST(ctx) { const formData = await ctx.req.formData(); const invite_id = formData.get("invite_id"); const sender = formData.get("sender"); if (!invite_id || !sender) { return new Response("Missing invite_id or sender", { status: 400 }); } await deleteTenantInvite(invite_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); }, });