Save current image generation workspace
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
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 });
|
||||
}
|
||||
Reference in New Issue
Block a user