Sync GovOPlaN module state

This commit is contained in:
2026-07-10 21:57:28 +02:00
parent 7e8df56723
commit 881f8d8755
5 changed files with 607 additions and 5 deletions

View File

@@ -74,6 +74,47 @@ class TenantUpdateRequest(BaseModel):
is_active: bool | None = None
class TenantLifecycleIssue(BaseModel):
severity: Literal["blocker", "warning", "info"]
code: str
message: str
module_id: str | None = None
class TenantDeletionPlanResponse(BaseModel):
tenant_id: str
action: Literal["retire", "destroy"] = "retire"
allowed: bool
destructive_supported: bool = False
issues: list[TenantLifecycleIssue] = Field(default_factory=list)
counts: dict[str, int] = Field(default_factory=dict)
class TenantDeleteRequest(BaseModel):
model_config = ConfigDict(extra="forbid")
mode: Literal["retire", "destroy"] = "retire"
reason: str | None = None
class TenantLifecycleResponse(BaseModel):
item: TenantAdminItem
plan: TenantDeletionPlanResponse
class TenantContextSwitchRequest(BaseModel):
model_config = ConfigDict(extra="forbid")
tenant_id: str
class TenantContextSwitchResponse(BaseModel):
account_id: str
membership_id: str
tenant_id: str
session_id: str | None = None
class TenantSettingsItem(BaseModel):
id: str
slug: str