Unified metadata management entry & dynamic routing#1186
Unified metadata management entry & dynamic routing#1186xuyushun441-sys merged 3 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…, and dynamic routing Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/8ec8d511-2e2b-4185-b2a5-feb9ceff4489 Co-authored-by: xuyushun441-sys <255036401+xuyushun441-sys@users.noreply.github.com>
…nt type annotations Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/8ec8d511-2e2b-4185-b2a5-feb9ceff4489 Co-authored-by: xuyushun441-sys <255036401+xuyushun441-sys@users.noreply.github.com>
|
@copilot 评估相关开发是否已经集成到 console ,用于管理平台的元数据 |
是的,统一元数据管理已完整集成到 Console 中。以下是各集成点的状态: ✅ 已集成的组件:
✅ 测试覆盖: 72 项相关测试全部通过(注册表 10 项、MetadataManagerPage 14 项、MetadataService 7 项、SystemHubPage 6 项)。完整套件 822 项测试无回归。 |
Metadata admin UIs were hardcoded per-type — only
objectandapphad management pages. Adding new types (dashboard, page, report, workflow, etc.) required duplicating routes, hub cards, and page components.Registry-driven architecture
config/metadataTypeRegistry.ts— Single config array defining all metadata types. New type = one entry:MetadataManagerPage— Generic page at/system/metadata/:metadataTypethat resolves config from registry, fetches viaMetadataService.getItems(type), renders searchable card grid with soft-deleteSystemHubPage— Now auto-generates metadata type cards from registry instead of a hardcoded array. Dashboards, Pages, Reports cards appear without any additional codeMetadataService— Added genericgetItems(category),saveMetadataItem(category, name, data),deleteMetadataItem(category, name)alongside existing object/field-specific methodsRouting
Dynamic
/system/metadata/:metadataTyperoute added to all three route contexts (top-levelSystemRoutes, app-scoped minimal, app-scoped full). All legacy routes (/system/objects,/system/apps, etc.) unchanged.Tests
37 new tests across 4 files: registry validation, MetadataManagerPage (render, search, delete, unknown type), MetadataService generic methods, SystemHubPage registry integration. Full suite: 822 pass.