feat: cache immutable auth principal summaries

This commit is contained in:
2026-07-29 19:24:00 +02:00
parent 6b0dd8beab
commit b6c2c89adf
4 changed files with 446 additions and 3 deletions

View File

@@ -177,6 +177,7 @@ from govoplan_core.core.change_sequence import (
sequence_entries_since,
sequence_watermark_is_expired,
)
from govoplan_core.core.principal_cache import invalidate_auth_principals
from govoplan_access.backend.db.models import (
Account,
ApiKey,
@@ -358,6 +359,16 @@ def _record_access_change(
actor_id=principal.user.id,
payload=payload or {},
)
invalidate_auth_principals(
session,
tenant_id=tenant_id,
source_module=ACCESS_MODULE_ID,
resource_type=resource_type,
resource_id=resource_id,
actor_type="user",
actor_id=principal.user.id,
reason=operation,
)
def _require_any_permission(principal: ApiPrincipal, *scopes: str) -> None: