import { NextResponse } from "next/server"; import { createCanvasProject, listCanvasProjects, } from "@/lib/server/repositories/canvas-project-repository"; import { defaultCanvasProjectData, isCanvasProjectData } from "@/lib/canvas/types"; export const runtime = "nodejs"; export async function GET() { return NextResponse.json({ items: listCanvasProjects() }); } export async function POST(request: Request) { const payload = await request.json().catch(() => ({})); const title = typeof payload.title === "string" && payload.title.trim() ? payload.title : "未命名画布"; const data = isCanvasProjectData(payload.data) ? payload.data : defaultCanvasProjectData; const project = createCanvasProject({ title, data }); return NextResponse.json({ item: project }, { status: 201 }); }