import { NextResponse } from "next/server"; import { ZodError } from "zod"; import { createSubmission } from "@/lib/submissions"; import { submissionSchema } from "@/lib/submission-schema"; export async function POST(request: Request) { try { const payload = await request.json(); const input = submissionSchema.parse(payload); const submission = await createSubmission(input); return NextResponse.json({ submission_id: submission.id, created_at: submission.createdAt.toISOString() }); } catch (error) { if (error instanceof ZodError) { return NextResponse.json( { error: "Validation failed", issues: error.flatten().fieldErrors }, { status: 400 } ); } console.error("Submission failed", error); return NextResponse.json( { error: "Submission could not be saved. Please try again." }, { status: 500 } ); } }