feat: add admin accounts and image templates

This commit is contained in:
inman
2026-07-03 11:25:25 +08:00
parent d98e58adfa
commit c3ea9f0eb1
61 changed files with 7016 additions and 199 deletions

View File

@@ -1,6 +1,6 @@
import { clearGenerationJobLock, getGenerationJob, updateGenerationJob } from "@/lib/server/data-store";
import { jsonError, jsonOk } from "@/lib/server/api";
import { authenticatePublicApiRequest } from "@/lib/server/public-api-auth";
import { authenticatePublicApiRequest, publicApiOwnerId } from "@/lib/server/public-api-auth";
import { publicApiError } from "@/lib/server/public-api-response";
export const runtime = "nodejs";
@@ -10,7 +10,9 @@ export async function POST(request: Request, context: { params: Promise<{ id: st
const client = authenticatePublicApiRequest(request);
const { id } = await context.params;
const job = await getGenerationJob(id);
if (!job || job.externalClientId !== client.id) return jsonError("Job not found.", 404);
if (!job || job.ownerId !== publicApiOwnerId(client) || job.externalClientId !== client.id) {
return jsonError("Job not found.", 404);
}
if (["succeeded", "failed", "expired", "cancelled"].includes(job.status)) {
return jsonOk({ job });
}

View File

@@ -1,6 +1,6 @@
import { getGenerationJob } from "@/lib/server/data-store";
import { jsonError, jsonOk } from "@/lib/server/api";
import { authenticatePublicApiRequest } from "@/lib/server/public-api-auth";
import { authenticatePublicApiRequest, publicApiOwnerId } from "@/lib/server/public-api-auth";
import { publicApiError } from "@/lib/server/public-api-response";
export const runtime = "nodejs";
@@ -10,7 +10,9 @@ export async function GET(request: Request, context: { params: Promise<{ id: str
const client = authenticatePublicApiRequest(request);
const { id } = await context.params;
const job = await getGenerationJob(id);
if (!job || job.externalClientId !== client.id) return jsonError("Job not found.", 404);
if (!job || job.ownerId !== publicApiOwnerId(client) || job.externalClientId !== client.id) {
return jsonError("Job not found.", 404);
}
return jsonOk({ job });
} catch (error) {
return publicApiError(error);