Files
govoplan-admin/src/govoplan_admin/backend/manifest.py

36 lines
1.1 KiB
Python

from __future__ import annotations
from govoplan_admin.backend.db import models as admin_models # noqa: F401 - populate Admin ORM metadata
from govoplan_core.core.access import CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER
from govoplan_core.core.module_guards import persistent_table_uninstall_guard
from govoplan_core.core.modules import MigrationSpec, ModuleContext, ModuleManifest
from govoplan_core.db.base import Base
def _route_factory(context: ModuleContext):
del context
from govoplan_admin.backend.api.v1.routes import router
return router
manifest = ModuleManifest(
id="admin",
name="Admin",
version="0.1.6",
required_capabilities=(CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR),
route_factory=_route_factory,
migration_spec=MigrationSpec(module_id="admin", metadata=Base.metadata),
uninstall_guard_providers=(
persistent_table_uninstall_guard(
admin_models.GovernanceTemplate,
admin_models.GovernanceTemplateAssignment,
label="Admin",
),
),
)
def get_manifest() -> ModuleManifest:
return manifest