From 242d0234743fd06493d9fa1a1c8c769000d1b998 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Tue, 28 Jul 2026 21:04:54 +0200 Subject: [PATCH] Declare policy View surfaces --- src/govoplan_policy/backend/manifest.py | 7 +++++++ webui/src/module.ts | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/govoplan_policy/backend/manifest.py b/src/govoplan_policy/backend/manifest.py index 17dc08b..485e9cd 100644 --- a/src/govoplan_policy/backend/manifest.py +++ b/src/govoplan_policy/backend/manifest.py @@ -12,6 +12,7 @@ from govoplan_core.core.modules import ( ModuleInterfaceProvider, ModuleManifest, ) +from govoplan_core.core.views import ViewSurface def _route_factory(context: ModuleContext): @@ -59,6 +60,12 @@ manifest = ModuleManifest( frontend=FrontendModule( module_id="policy", package_name="@govoplan/policy-webui", + view_surfaces=( + ViewSurface(id="policy.admin.system-retention", module_id="policy", kind="section", label="System retention", order=80), + ViewSurface(id="policy.admin.tenant-retention", module_id="policy", kind="section", label="Tenant retention", order=80), + ViewSurface(id="policy.admin.group-retention", module_id="policy", kind="section", label="Group retention", order=80), + ViewSurface(id="policy.admin.user-retention", module_id="policy", kind="section", label="User retention", order=80), + ), ), capability_factories={ CAPABILITY_POLICY_DEFINITION_GOVERNANCE: _definition_governance_policy, diff --git a/webui/src/module.ts b/webui/src/module.ts index b642d95..0f4ea2c 100644 --- a/webui/src/module.ts +++ b/webui/src/module.ts @@ -7,6 +7,7 @@ const policyAdminSections: AdminSectionsUiCapability = { sections: [ { id: "system-retention", + surfaceId: "policy.admin.system-retention", label: "Retention", group: "SYSTEM", order: 80, @@ -19,6 +20,7 @@ const policyAdminSections: AdminSectionsUiCapability = { }, { id: "tenant-retention", + surfaceId: "policy.admin.tenant-retention", label: "Retention", group: "TENANT", order: 80, @@ -31,6 +33,7 @@ const policyAdminSections: AdminSectionsUiCapability = { }, { id: "tenant-group-retention", + surfaceId: "policy.admin.group-retention", label: "Retention", group: "GROUP", order: 30, @@ -43,6 +46,7 @@ const policyAdminSections: AdminSectionsUiCapability = { }, { id: "tenant-user-retention", + surfaceId: "policy.admin.user-retention", label: "Retention", group: "USER", order: 30, @@ -61,6 +65,12 @@ export const policyModule: PlatformWebModule = { label: "Policy", version: "0.1.9", dependencies: ["access", "admin"], + viewSurfaces: [ + { id: "policy.admin.system-retention", moduleId: "policy", kind: "section", label: "System retention", order: 80 }, + { id: "policy.admin.tenant-retention", moduleId: "policy", kind: "section", label: "Tenant retention", order: 80 }, + { id: "policy.admin.group-retention", moduleId: "policy", kind: "section", label: "Group retention", order: 80 }, + { id: "policy.admin.user-retention", moduleId: "policy", kind: "section", label: "User retention", order: 80 } + ], uiCapabilities: { "admin.sections": policyAdminSections }