Files
2026-07-03 11:25:25 +08:00

30 lines
914 B
TypeScript

import { createImageTemplate, listImageTemplates } from "@/lib/server/data-store";
import { jsonError, jsonOk, readJsonBody } from "@/lib/server/api";
import { requireAppUser } from "@/lib/server/auth/current-user";
import { normalizeImageTemplateCreate } from "@/lib/server/image-template-input";
export const runtime = "nodejs";
export async function GET() {
try {
const user = await requireAppUser();
return jsonOk({ templates: await listImageTemplates(user.id) });
} catch (error) {
return jsonError(error, 500);
}
}
export async function POST(request: Request) {
try {
const user = await requireAppUser();
const body = await readJsonBody(request);
const template = await createImageTemplate({
ownerId: user.id,
...normalizeImageTemplateCreate(body)
});
return jsonOk({ template }, { status: 201 });
} catch (error) {
return jsonError(error);
}
}