import { NextResponse } from "next/server"; import { auth } from "@/app/(auth)/auth"; import { createFlowBoardDraft, listFlowBoardDraftsByUserId, } from "@/lib/db/queries"; import { mapFlowBoardDraft, mapFlowBoardDraftSummary, normalizeFlowBoardSnapshot, normalizeFlowBoardTitle, } from "../_utils"; export const runtime = "nodejs"; export const dynamic = "force-dynamic"; export const revalidate = 0; export async function GET() { const session = await auth(); if (!session?.user?.id) { return NextResponse.json( { success: false, error: "未登录" }, { status: 401 } ); } const drafts = await listFlowBoardDraftsByUserId({ userId: session.user.id, }); return NextResponse.json({ success: true, data: drafts.map(mapFlowBoardDraftSummary), }); } export async function POST(request: Request) { const session = await auth(); if (!session?.user?.id) { return NextResponse.json( { success: false, error: "未登录" }, { status: 401 } ); } const body = (await request.json().catch(() => ({}))) as { title?: unknown; snapshot?: unknown; }; const draft = await createFlowBoardDraft({ userId: session.user.id, title: normalizeFlowBoardTitle(body.title), snapshot: normalizeFlowBoardSnapshot(body.snapshot), }); if (!draft) { return NextResponse.json( { success: false, error: "创建流程白板失败" }, { status: 500 } ); } return NextResponse.json({ success: true, data: mapFlowBoardDraft(draft), }); }