From ba7fb2def78d7570e8c2b7810b704db765c672ca Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Fri, 10 Jul 2026 21:57:26 +0200 Subject: [PATCH] Sync GovOPlaN module state --- .gitignore | 18 ++++++++++++++++++ src/govoplan_files/backend/manifest.py | 25 +++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 08ae385..e9470d6 100644 --- a/.gitignore +++ b/.gitignore @@ -327,3 +327,21 @@ dist # Built Visual Studio Code Extensions *.vsix +# GovOPlaN shared ignore rules from govoplan-core +# Local WebUI test/build scratch directories +.component-test-build/ +.module-test-build/ +.policy-test-build/ +.template-preview-test-build/ +.import-test-build/ +webui/.component-test-build/ +webui/.module-test-build/ +webui/.policy-test-build/ +webui/.template-preview-test-build/ +webui/.import-test-build/ +*.db +# GovOPlaN local runtime state +runtime/ +# GovOPlaN WebUI test output +webui/.module-test-build/ +webui/.component-test-build/ diff --git a/src/govoplan_files/backend/manifest.py b/src/govoplan_files/backend/manifest.py index b47668d..31b5140 100644 --- a/src/govoplan_files/backend/manifest.py +++ b/src/govoplan_files/backend/manifest.py @@ -4,7 +4,17 @@ from pathlib import Path from govoplan_core.core.access import CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER from govoplan_core.core.module_guards import drop_table_retirement_provider, persistent_table_uninstall_guard -from govoplan_core.core.modules import FrontendModule, MigrationSpec, ModuleContext, ModuleManifest, NavItem, PermissionDefinition, RoleTemplate +from govoplan_core.core.modules import ( + FrontendModule, + MigrationSpec, + ModuleContext, + ModuleInterfaceProvider, + ModuleInterfaceRequirement, + ModuleManifest, + NavItem, + PermissionDefinition, + RoleTemplate, +) from govoplan_core.db.base import Base from govoplan_files.backend.change_tracking import register_files_change_tracking from govoplan_files.backend.db import models as file_models # noqa: F401 - populate Files ORM metadata @@ -103,7 +113,18 @@ manifest = ModuleManifest( name="Files", version="0.1.6", required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR), - optional_dependencies=(), + optional_dependencies=("campaigns",), + provides_interfaces=( + ModuleInterfaceProvider(name="files.campaign_attachments", version="0.1.6"), + ), + requires_interfaces=( + ModuleInterfaceRequirement( + name="campaigns.access", + version_min="0.1.0", + version_max_exclusive="0.2.0", + optional=True, + ), + ), permissions=PERMISSIONS, route_factory=_files_router, role_templates=ROLE_TEMPLATES,