feat: improve workshop publishing flow

This commit is contained in:
Thomas Camlong committed 2026-08-14 23:16:39 +02:00
1 parent 168091134d
commit b491d45fdc
19 files changed
+254 -82

No files matched your search

+2
View File
@@ -23,6 +23,7 @@ export const env = createEnv({
DEMO_READ_ONLY: createBooleanSchema(true),
HOMARR_WEBSITE_URL: publicHttpUrl("HOMARR_WEBSITE_URL").default("https://homarr.dev"),
WORKSHOP_API_URL: publicHttpUrl("WORKSHOP_API_URL").optional(),
WORKSHOP_WEB_URL: publicHttpUrl("WORKSHOP_WEB_URL").optional(),
},
runtimeEnv: {
KUBERNETES_SERVICE_ACCOUNT_NAME: process.env.KUBERNETES_SERVICE_ACCOUNT_NAME,
@@ -30,5 +31,6 @@ export const env = createEnv({
DEMO_READ_ONLY: process.env.DEMO_READ_ONLY,
HOMARR_WEBSITE_URL: process.env.HOMARR_WEBSITE_URL,
WORKSHOP_API_URL: process.env.WORKSHOP_API_URL,
WORKSHOP_WEB_URL: process.env.WORKSHOP_WEB_URL,
},
});
@@ -23,8 +23,11 @@ const logger = createLogger({ module: "custom-widget:workshop" });
const workshopUrls = resolveHomarrUrlConfig({
homarrWebsiteUrl: env.HOMARR_WEBSITE_URL,
workshopApiUrl: env.WORKSHOP_API_URL,
workshopWebUrl: env.WORKSHOP_WEB_URL,
});
const workshop = new WorkshopBackend(workshopUrls.workshopApiUrl);
const getWorkshopSubmissionUrl = (submissionId: string) =>
`${workshopUrls.workshopWebUrl}/${encodeURIComponent(submissionId)}`;
function throwWorkshopUnavailable(
message: string,
@@ -94,6 +97,7 @@ export const workshopProcedures = {
.filter((item) => item.widgetSchema === CUSTOM_WIDGET_SCHEMA)
.map((item) => ({
id: item.id,
url: getWorkshopSubmissionUrl(item.id),
title: item.title,
description: item.description,
authorName: item.authorName,
@@ -117,6 +121,7 @@ export const workshopProcedures = {
return {
submission: {
id: submission.id,
url: getWorkshopSubmissionUrl(submission.id),
title: submission.title,
description: submission.description,
authorName: submission.authorName,