From 9cf2c9da5a2e8b68eff69bc25d3a0acdacaf0b39 Mon Sep 17 00:00:00 2001 From: Hanqing Zhao Date: Mon, 11 May 2026 17:17:58 +0800 Subject: [PATCH] fix: Get template information with dsl id (#36044) --- .../components/plugins/marketplace/types.ts | 7 ++++ web/utils/template.ts | 39 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/web/app/components/plugins/marketplace/types.ts b/web/app/components/plugins/marketplace/types.ts index a806a00f85..5b09a8dee7 100644 --- a/web/app/components/plugins/marketplace/types.ts +++ b/web/app/components/plugins/marketplace/types.ts @@ -168,6 +168,13 @@ export type TemplateDetail = Template & { creator_email: string dsl_file_key: string review_comment: string + dsl_app_name?: string + dsl_app_description?: string + dsl_app_icon?: string + dsl_app_icon_background?: string + dsl_app_mode?: string + dsl_version?: string + dsl_kind?: string } export type TemplatesListResponse = { diff --git a/web/utils/template.ts b/web/utils/template.ts index f041d6c150..628646d9cf 100644 --- a/web/utils/template.ts +++ b/web/utils/template.ts @@ -9,12 +9,51 @@ type GraphPayload = { } type DslPayload = { + app?: { + name?: string + description?: string + icon?: string + icon_background?: string + mode?: string + } + version?: string + kind?: string workflow?: { graph?: GraphPayload } graph?: GraphPayload } | null +export type DslInfo = { + dsl_app_name?: string + dsl_app_description?: string + dsl_app_icon?: string + dsl_app_icon_background?: string + dsl_app_mode?: string + dsl_version?: string + dsl_kind?: string +} + +export const parseDslInfo = (dslContent: string): DslInfo => { + if (!dslContent) + return {} + try { + const data = yamlLoad(dslContent) as DslPayload + return { + dsl_app_name: data?.app?.name, + dsl_app_description: data?.app?.description, + dsl_app_icon: data?.app?.icon, + dsl_app_icon_background: data?.app?.icon_background, + dsl_app_mode: data?.app?.mode, + dsl_version: data?.version, + dsl_kind: data?.kind, + } + } + catch { + return {} + } +} + export type ParsedGraph = { nodes: Node[] edges: Edge[]