diff --git a/src/govoplan_campaign/backend/manifest.py b/src/govoplan_campaign/backend/manifest.py index a0affbd..999bd09 100644 --- a/src/govoplan_campaign/backend/manifest.py +++ b/src/govoplan_campaign/backend/manifest.py @@ -16,6 +16,7 @@ from govoplan_core.core.modules import ( DocumentationLink, DocumentationTopic, FrontendModule, + FrontendRoute, MigrationSpec, ModuleContext, ModuleInterfaceProvider, @@ -216,6 +217,39 @@ manifest = ModuleManifest( frontend=FrontendModule( module_id="campaigns", package_name="@govoplan/campaign-webui", + routes=( + FrontendRoute( + path="/campaigns", + component="CampaignListPage", + required_any=("campaigns:campaign:read",), + order=20, + ), + FrontendRoute( + path="/campaigns/:campaignId/*", + component="CampaignWorkspace", + required_any=("campaigns:campaign:read",), + order=21, + ), + FrontendRoute( + path="/operator", + component="OperatorQueuePage", + required_all=("campaigns:campaign:read",), + required_any=( + "campaigns:campaign:queue", + "campaigns:campaign:retry", + "campaigns:campaign:reconcile", + "campaigns:campaign:control", + ), + order=30, + ), + FrontendRoute( + path="/reports", + component="AggregateReportsPage", + required_any=("campaigns:report:read",), + order=70, + ), + FrontendRoute(path="/templates", component="TemplatesPage", order=90), + ), nav_items=( NavItem(path="/campaigns", label="Campaigns", icon="campaign", required_any=("campaigns:campaign:read",), order=20), NavItem(