import type { NextRequest } from "next/server"; import { db } from "@/lib/db"; import { requireAdmin } from "@/lib/admin"; export const dynamic = "force-dynamic"; export async function PATCH( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { const guard = await requireAdmin(); if (!guard.ok) return guard.response; const { id } = await params; const body = await request.json(); const title = body?.title?.toString().trim(); const description = body?.description?.toString().trim(); const eventDateValue = body?.eventDate?.toString(); const eventDate = eventDateValue ? new Date(eventDateValue) : null; if (!title || !description || !eventDate || Number.isNaN(eventDate.getTime())) { return Response.json({ error: "Invalid payload" }, { status: 400 }); } const event = await db.event.update({ where: { id }, data: { title, description, eventDate }, }); return Response.json({ id: event.id, title: event.title, description: event.description, eventDate: event.eventDate.toISOString(), }); } export async function DELETE( _request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { const guard = await requireAdmin(); if (!guard.ok) return guard.response; const { id } = await params; await db.event.delete({ where: { id } }); return Response.json({ ok: true }); }