import { z } from "zod"; import { getDb } from "@tline/db"; import { shapeVariants } from "./shape"; export const runtime = "nodejs"; const paramsSchema = z.object({ id: z.string().uuid(), }); export async function GET( _request: Request, context: { params: Promise<{ id: string }> }, ): Promise { const rawParams = await context.params; const paramsParsed = paramsSchema.safeParse(rawParams); if (!paramsParsed.success) { return Response.json( { error: "invalid_params", issues: paramsParsed.error.issues }, { status: 400 }, ); } const db = getDb(); const rows = await db< { kind: string; size: number; key: string; mime_type: string; width: number | null; height: number | null; }[] >` select kind, size, key, mime_type, width, height from asset_variants where asset_id = ${paramsParsed.data.id} `; return Response.json(shapeVariants(rows)); }