import { listGenerationJobs } from "@/lib/server/data-store"; import { jsonError, jsonOk, readJsonBody } from "@/lib/server/api"; import { requireAppUser } from "@/lib/server/auth/current-user"; import { requestOrigin } from "@/lib/server/runtime"; import { submitVideoJob, type SubmitVideoJobInput } from "@/lib/server/video-generation-service"; export const runtime = "nodejs"; export async function GET() { try { const user = await requireAppUser(); const jobs = (await listGenerationJobs(user.id)).filter((job) => job.capability === "video.generate"); return jsonOk({ jobs }); } catch (error) { return jsonError(error, 500); } } export async function POST(request: Request) { try { const user = await requireAppUser(); const body = await readJsonBody>(request); const job = await submitVideoJob({ ...body, ownerId: user.id }, requestOrigin(request)); return jsonOk({ job }, { status: 202 }); } catch (error) { return jsonError(error); } }