Move access permissions to access module

This commit is contained in:
2026-07-10 23:27:48 +02:00
parent a7c486788e
commit e32841077c
13 changed files with 1319 additions and 170 deletions

View File

@@ -454,6 +454,64 @@ class UserAdminItem(BaseModel):
updated_at: datetime
AccessRoleSourceType = Literal["direct_role", "group_role", "legacy_function_role", "idm_function_role", "system_role"]
class AccessRoleSourceItem(BaseModel):
source_type: AccessRoleSourceType
role_id: str
role_slug: str
role_name: str
permissions: list[str] = Field(default_factory=list)
tenant_id: str | None = None
group_id: str | None = None
group_name: str | None = None
function_assignment_id: str | None = None
function_id: str | None = None
function_name: str | None = None
organization_unit_id: str | None = None
organization_unit_name: str | None = None
identity_id: str | None = None
account_id: str | None = None
source_module: str | None = None
assignment_source: str | None = None
applies_to_subunits: bool = False
delegated_from_assignment_id: str | None = None
delegation_id: str | None = None
acting_for_account_id: str | None = None
class AccessScopeExplanationItem(BaseModel):
scope: str
sources: list[AccessRoleSourceItem] = Field(default_factory=list)
class FunctionFactExplanationItem(BaseModel):
source_module: str
assignment_id: str
tenant_id: str
identity_id: str | None = None
account_id: str | None = None
function_id: str
function_name: str | None = None
organization_unit_id: str
organization_unit_name: str | None = None
applies_to_subunits: bool = False
assignment_source: str
status: str
delegated_from_assignment_id: str | None = None
acting_for_account_id: str | None = None
role_ids: list[str] = Field(default_factory=list)
role_names: list[str] = Field(default_factory=list)
class UserAccessExplanationResponse(BaseModel):
user: UserAdminItem
role_sources: list[AccessRoleSourceItem] = Field(default_factory=list)
scopes: list[AccessScopeExplanationItem] = Field(default_factory=list)
function_facts: list[FunctionFactExplanationItem] = Field(default_factory=list)
class UserListResponse(BaseModel):
users: list[UserAdminItem]