diff --git a/.gitignore b/.gitignore index cb85520..b2871c4 100644 --- a/.gitignore +++ b/.gitignore @@ -329,3 +329,21 @@ cython_debug/ # GovOPlaN WebUI test output webui/.mail-test-build/ + +# 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/ +webui/.module-test-build/ +webui/.component-test-build/ diff --git a/src/govoplan_mail/backend/manifest.py b/src/govoplan_mail/backend/manifest.py index 33d269c..dd2886a 100644 --- a/src/govoplan_mail/backend/manifest.py +++ b/src/govoplan_mail/backend/manifest.py @@ -11,6 +11,8 @@ from govoplan_core.core.modules import ( FrontendModule, MigrationSpec, ModuleContext, + ModuleInterfaceProvider, + ModuleInterfaceRequirement, ModuleManifest, NavItem, PermissionDefinition, @@ -89,7 +91,18 @@ manifest = ModuleManifest( name="Mail", version="0.1.6", required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR), - optional_dependencies=(), + optional_dependencies=("campaigns",), + provides_interfaces=( + ModuleInterfaceProvider(name="mail.campaign_delivery", version="0.1.6"), + ), + requires_interfaces=( + ModuleInterfaceRequirement( + name="campaigns.mail_policy_context", + version_min="0.1.0", + version_max_exclusive="0.2.0", + optional=True, + ), + ), permissions=PERMISSIONS, route_factory=_mail_router, role_templates=ROLE_TEMPLATES,