chore: consolidate platform split checks
This commit is contained in:
@@ -24,6 +24,21 @@ class AuditLogListResponse(BaseModel):
|
||||
items: list[AuditLogItemResponse]
|
||||
|
||||
|
||||
class DeltaDeletedItem(BaseModel):
|
||||
id: str
|
||||
resource_type: str | None = None
|
||||
revision: str | None = None
|
||||
deleted_at: datetime | None = None
|
||||
|
||||
|
||||
class DeltaCollectionResponse(BaseModel):
|
||||
items: list[dict[str, Any]] = Field(default_factory=list)
|
||||
deleted: list[DeltaDeletedItem] = Field(default_factory=list)
|
||||
watermark: str | None = None
|
||||
has_more: bool = False
|
||||
full: bool = False
|
||||
|
||||
|
||||
class LoginRequest(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
@@ -46,6 +61,7 @@ class TenantInfo(BaseModel):
|
||||
name: str
|
||||
is_active: bool = True
|
||||
default_locale: str = "en"
|
||||
enabled_language_codes: list[str] = Field(default_factory=list)
|
||||
|
||||
|
||||
class TenantMembershipInfo(TenantInfo):
|
||||
@@ -53,6 +69,16 @@ class TenantMembershipInfo(TenantInfo):
|
||||
is_active: bool = True
|
||||
|
||||
|
||||
class UserUiPreferences(BaseModel):
|
||||
model_config = ConfigDict(extra="ignore")
|
||||
|
||||
compact_tables: bool = False
|
||||
show_inline_help_hints: bool = True
|
||||
reduce_motion: bool = False
|
||||
sticky_section_sidebars: bool = True
|
||||
theme: Literal["system", "light", "dark"] = "system"
|
||||
|
||||
|
||||
class UserInfo(BaseModel):
|
||||
id: str
|
||||
account_id: str
|
||||
@@ -63,6 +89,9 @@ class UserInfo(BaseModel):
|
||||
tenant_display_name: str | None = None
|
||||
is_tenant_admin: bool = False
|
||||
password_reset_required: bool = False
|
||||
preferred_language: str | None = None
|
||||
enabled_language_codes: list[str] = Field(default_factory=list)
|
||||
ui_preferences: UserUiPreferences = Field(default_factory=UserUiPreferences)
|
||||
|
||||
|
||||
class ProfileUpdateRequest(BaseModel):
|
||||
@@ -70,6 +99,15 @@ class ProfileUpdateRequest(BaseModel):
|
||||
|
||||
display_name: str | None = Field(default=None, max_length=255)
|
||||
tenant_display_name: str | None = Field(default=None, max_length=255)
|
||||
preferred_language: str | None = Field(default=None, max_length=20)
|
||||
enabled_language_codes: list[str] | None = None
|
||||
ui_preferences: UserUiPreferences | None = None
|
||||
|
||||
|
||||
class LanguageInfo(BaseModel):
|
||||
code: str
|
||||
label: str
|
||||
native_label: str | None = None
|
||||
|
||||
|
||||
class RoleInfo(BaseModel):
|
||||
@@ -86,6 +124,25 @@ class GroupInfo(BaseModel):
|
||||
name: str
|
||||
|
||||
|
||||
class PrincipalContextInfo(BaseModel):
|
||||
account_id: str
|
||||
membership_id: str | None = None
|
||||
tenant_id: str | None = None
|
||||
identity_id: str | None = None
|
||||
scopes: list[str] = Field(default_factory=list)
|
||||
group_ids: list[str] = Field(default_factory=list)
|
||||
role_ids: list[str] = Field(default_factory=list)
|
||||
function_assignment_ids: list[str] = Field(default_factory=list)
|
||||
delegation_ids: list[str] = Field(default_factory=list)
|
||||
auth_method: Literal["session", "api_key", "service_account"] = "session"
|
||||
api_key_id: str | None = None
|
||||
session_id: str | None = None
|
||||
service_account_id: str | None = None
|
||||
acting_for_account_id: str | None = None
|
||||
email: str | None = None
|
||||
display_name: str | None = None
|
||||
|
||||
|
||||
class LoginResponse(BaseModel):
|
||||
access_token: str
|
||||
token_type: str = "bearer"
|
||||
@@ -98,6 +155,10 @@ class LoginResponse(BaseModel):
|
||||
scopes: list[str]
|
||||
roles: list[RoleInfo] = Field(default_factory=list)
|
||||
groups: list[GroupInfo] = Field(default_factory=list)
|
||||
principal: PrincipalContextInfo | None = None
|
||||
available_languages: list[LanguageInfo] = Field(default_factory=list)
|
||||
enabled_language_codes: list[str] = Field(default_factory=list)
|
||||
default_language: str = "en"
|
||||
|
||||
|
||||
class MeResponse(BaseModel):
|
||||
@@ -109,3 +170,7 @@ class MeResponse(BaseModel):
|
||||
scopes: list[str]
|
||||
roles: list[RoleInfo] = Field(default_factory=list)
|
||||
groups: list[GroupInfo] = Field(default_factory=list)
|
||||
principal: PrincipalContextInfo | None = None
|
||||
available_languages: list[LanguageInfo] = Field(default_factory=list)
|
||||
enabled_language_codes: list[str] = Field(default_factory=list)
|
||||
default_language: str = "en"
|
||||
|
||||
Reference in New Issue
Block a user