Implement identity canon alignment

This commit is contained in:
tegwick 2026-06-05 16:04:43 +02:00
parent fe446711de
commit c6d211f472
15 changed files with 1008 additions and 21 deletions

View file

@ -11,6 +11,8 @@ from user_engine.domain.models import (
AuthorizationDecision,
AuthorizationEffect,
AuthorizationRequest,
CanonEntityReference,
CanonRelationshipReference,
Catalog,
CatalogLifecycle,
ExternalIdentity,
@ -41,6 +43,8 @@ __all__ = [
"AuthorizationDecision",
"AuthorizationEffect",
"AuthorizationRequest",
"CanonEntityReference",
"CanonRelationshipReference",
"Catalog",
"CatalogLifecycle",
"ExternalIdentity",

View file

@ -99,6 +99,27 @@ class AuthorizationEffect(StrEnum):
NOT_APPLICABLE = "not_applicable"
@dataclass(frozen=True)
class CanonEntityReference:
concept: str
identifier: str
scope: str | None = None
source_system: str = "user-engine"
local_type: str | None = None
evidence_id: str | None = None
@dataclass(frozen=True)
class CanonRelationshipReference:
relationship_type: str
source: CanonEntityReference
target: CanonEntityReference
scope: str | None = None
source_system: str = "user-engine"
evidence_id: str | None = None
lifecycle_state: str = "active"
@dataclass(frozen=True)
class Actor:
issuer: str