import { z } from "zod"; import { getAdminOk, handleAddAlbumAsset, handleRemoveAlbumAsset, } from "../../handlers"; export const runtime = "nodejs"; const paramsSchema = z.object({ id: z.string().uuid(), }); export async function POST( 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 bodyJson = await request.json().catch(() => ({})); const res = await handleAddAlbumAsset({ adminOk: getAdminOk(request.headers), params: paramsParsed.data, body: bodyJson, }); return Response.json(res.body, { status: res.status }); } export async function DELETE( 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 bodyJson = await request.json().catch(() => ({})); const res = await handleRemoveAlbumAsset({ adminOk: getAdminOk(request.headers), params: paramsParsed.data, body: bodyJson, }); return Response.json(res.body, { status: res.status }); }