feat: extract shop from mp/shop — initial libreshop/shop
Some checks failed
Build and publish / build (push) Failing after 19s
Some checks failed
Build and publish / build (push) Failing after 19s
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.
This commit is contained in:
18
server/api/product-covers/[id].get.ts
Normal file
18
server/api/product-covers/[id].get.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
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`);
|
||||
});
|
||||
5
server/api/product-covers/index.get.ts
Normal file
5
server/api/product-covers/index.get.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { fetchCms } from "~/server/utils/cmsApi";
|
||||
|
||||
export default defineEventHandler(async () => {
|
||||
return await fetchCms(`/product-covers?populate[copyText]=true`);
|
||||
});
|
||||
Reference in New Issue
Block a user