Files
shop/server/api/product-covers/[id].get.ts
Michael Czechowski 44107c0734
Some checks failed
Build and publish / build (push) Failing after 19s
feat: extract shop from mp/shop — initial libreshop/shop
Source moved verbatim from mp/shop/ on 2026-04-29; mp was the first
concrete adapter consuming the libreshop toolkit. Builds and publishes
git.librete.ch/libreshop/shop on every main / v* push via the standard
.gitea/workflows/build.yml shared across libreshop components.
2026-04-29 17:48:56 +02:00

19 lines
561 B
TypeScript

import { fetchCms } from "~/server/utils/cmsApi";
import { resolveCoverId } from "~/server/utils/coverSlug";
export default defineEventHandler(async (event) => {
const idOrSlug = getRouterParam(event, "id");
if (!idOrSlug) {
throw createError({ statusCode: 400, statusMessage: "Missing cover ID" });
}
// Resolve slug to ID
const coverId = await resolveCoverId(idOrSlug);
if (!coverId) {
throw createError({ statusCode: 404, statusMessage: "Cover not found" });
}
return await fetchCms(`/product-covers/${coverId}?populate[copyText]=true`);
});