perf(access): provide bounded reference search

This commit is contained in:
2026-07-30 01:30:04 +02:00
parent 6295cfa840
commit a758c8f2da
3 changed files with 430 additions and 0 deletions
+15
View File
@@ -42,6 +42,7 @@ from govoplan_core.core.modules import (
RoleTemplate,
)
from govoplan_core.core.people import CAPABILITY_ACCESS_PEOPLE_SEARCH
from govoplan_core.core.references import CAPABILITY_ACCESS_REFERENCE_OPTIONS
from govoplan_core.core.views import ViewSurface
@@ -538,6 +539,15 @@ def _access_semantic_directory(context: ModuleContext) -> object:
)
def _access_reference_options(context: ModuleContext) -> object:
del context
from govoplan_access.backend.reference_options import (
SqlAccessReferenceOptionProvider,
)
return SqlAccessReferenceOptionProvider()
def _optional_identity_directory(context: ModuleContext) -> IdentityDirectory | None:
if not context.registry.has_capability(CAPABILITY_IDENTITY_DIRECTORY):
return None
@@ -648,6 +658,10 @@ manifest = ModuleManifest(
optional_dependencies=("identity", "organizations", "tenancy", "idm"),
provides_interfaces=(
ModuleInterfaceProvider(name=CAPABILITY_ACCESS_PEOPLE_SEARCH, version="0.1.0"),
ModuleInterfaceProvider(
name=CAPABILITY_ACCESS_REFERENCE_OPTIONS,
version="0.1.0",
),
ModuleInterfaceProvider(
name="auth.automation_principal",
version="0.2.0",
@@ -725,6 +739,7 @@ manifest = ModuleManifest(
CAPABILITY_ACCESS_ADMINISTRATION: _access_administration,
CAPABILITY_ACCESS_GOVERNANCE_MATERIALIZER: _governance_materializer,
CAPABILITY_ACCESS_PEOPLE_SEARCH: _people_search,
CAPABILITY_ACCESS_REFERENCE_OPTIONS: _access_reference_options,
ACCESS_CONFIGURATION_CAPABILITY: _configuration_provider,
},
documentation=ACCESS_DOCUMENTATION,