import { NextResponse } from "next/server"; import prisma from "@/lib/prisma"; import { z } from "zod"; const createPostSchema = z.object({ boardId: z.string().min(1), authorId: z.string().optional(), title: z.string().min(1), content: z.string().min(1), isAnonymous: z.boolean().optional(), }); export async function POST(req: Request) { const body = await req.json(); const parsed = createPostSchema.safeParse(body); if (!parsed.success) { return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 }); } const { boardId, authorId, title, content, isAnonymous } = parsed.data; const post = await prisma.post.create({ data: { boardId, authorId: authorId ?? null, title, content, isAnonymous: !!isAnonymous }, }); return NextResponse.json({ post }, { status: 201 }); }