36 lines
1.1 KiB
Python
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
|