feat: extract shop from mp/shop — initial libreshop/shop
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:
Michael Czechowski
2026-04-29 17:48:56 +02:00
commit 44107c0734
134 changed files with 19521 additions and 0 deletions

17
server/utils/cmsApi.ts Normal file
View File

@@ -0,0 +1,17 @@
/**
* Server-side CMS API utility.
* Use this for direct CMS access during SSR.
*/
export async function fetchCms<T>(endpoint: string, options: Parameters<typeof $fetch>[1] = {}): Promise<T> {
const config = useRuntimeConfig();
const url = `${config.cmsInternalUrl}/api${endpoint}`;
return await $fetch<T>(url, {
...options,
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${config.shopApiToken}`,
...((options.headers as Record<string, string>) || {})
}
});
}