feat: add admin accounts and image templates
This commit is contained in:
29
app/api/image-templates/route.ts
Normal file
29
app/api/image-templates/route.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user