import { NextResponse } from "next/server"; import { query } from "@/lib/db"; import { authErrorResponse, requireRole } from "@/lib/auth/session"; import { isSameOrigin } from "@/lib/origin"; export async function POST(request: Request) { if (!isSameOrigin(request)) { return NextResponse.json({ error: "Nicht erlaubt." }, { status: 403 }); } try { await requireRole(["staff", "admin"]); const { ids } = (await request.json()) as { ids: string[] }; if (!Array.isArray(ids) || ids.length === 0) { return NextResponse.json({ error: "invalid_input" }, { status: 400 }); } await query("delete from dishes where id = any($1::uuid[])", [ids]); return NextResponse.json({ ok: true }); } catch (err) { const res = authErrorResponse(err); if (res) return res; throw err; } }