Remove obsolete Campaign schema copies
This commit is contained in:
@@ -597,6 +597,7 @@ class AppendSentRequest(BaseModel):
|
|||||||
class CampaignActionResponse(BaseModel):
|
class CampaignActionResponse(BaseModel):
|
||||||
result: dict[str, Any]
|
result: dict[str, Any]
|
||||||
|
|
||||||
|
|
||||||
class ReportEmailRequest(BaseModel):
|
class ReportEmailRequest(BaseModel):
|
||||||
model_config = ConfigDict(extra="forbid")
|
model_config = ConfigDict(extra="forbid")
|
||||||
|
|
||||||
@@ -610,111 +611,3 @@ class ReportEmailRequest(BaseModel):
|
|||||||
|
|
||||||
class ReportEmailResponse(BaseModel):
|
class ReportEmailResponse(BaseModel):
|
||||||
result: dict[str, Any]
|
result: dict[str, Any]
|
||||||
|
|
||||||
|
|
||||||
class AuditLogItemResponse(BaseModel):
|
|
||||||
model_config = ConfigDict(from_attributes=True)
|
|
||||||
|
|
||||||
id: str
|
|
||||||
tenant_id: str | None = None
|
|
||||||
user_id: str | None = None
|
|
||||||
api_key_id: str | None = None
|
|
||||||
action: str
|
|
||||||
object_type: str | None = None
|
|
||||||
object_id: str | None = None
|
|
||||||
details: dict[str, Any] | None = None
|
|
||||||
created_at: datetime
|
|
||||||
|
|
||||||
|
|
||||||
class AuditLogListResponse(BaseModel):
|
|
||||||
items: list[AuditLogItemResponse]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class LoginRequest(BaseModel):
|
|
||||||
model_config = ConfigDict(extra="forbid")
|
|
||||||
|
|
||||||
email: str
|
|
||||||
password: str
|
|
||||||
# Kept optional for backwards compatibility and future tenant-switch login flows.
|
|
||||||
# The WebUI no longer sends it. If omitted, the backend resolves the user by email.
|
|
||||||
tenant_slug: str | None = None
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class SwitchTenantRequest(BaseModel):
|
|
||||||
model_config = ConfigDict(extra="forbid")
|
|
||||||
|
|
||||||
tenant_id: str
|
|
||||||
|
|
||||||
|
|
||||||
class TenantInfo(BaseModel):
|
|
||||||
id: str
|
|
||||||
slug: str
|
|
||||||
name: str
|
|
||||||
is_active: bool = True
|
|
||||||
default_locale: str = "en"
|
|
||||||
|
|
||||||
|
|
||||||
class TenantMembershipInfo(TenantInfo):
|
|
||||||
roles: list[str] = Field(default_factory=list)
|
|
||||||
is_active: bool = True
|
|
||||||
|
|
||||||
|
|
||||||
class UserInfo(BaseModel):
|
|
||||||
id: str
|
|
||||||
account_id: str
|
|
||||||
email: str
|
|
||||||
# Global account identity used by the title bar and account settings.
|
|
||||||
display_name: str | None = None
|
|
||||||
# Optional tenant-local alias used in tenant administration and ownership.
|
|
||||||
tenant_display_name: str | None = None
|
|
||||||
is_tenant_admin: bool = False
|
|
||||||
password_reset_required: bool = False
|
|
||||||
|
|
||||||
|
|
||||||
class ProfileUpdateRequest(BaseModel):
|
|
||||||
model_config = ConfigDict(extra="forbid")
|
|
||||||
|
|
||||||
display_name: str | None = Field(default=None, max_length=255)
|
|
||||||
tenant_display_name: str | None = Field(default=None, max_length=255)
|
|
||||||
|
|
||||||
|
|
||||||
class RoleInfo(BaseModel):
|
|
||||||
id: str
|
|
||||||
slug: str
|
|
||||||
name: str
|
|
||||||
permissions: list[str] = Field(default_factory=list)
|
|
||||||
level: Literal["tenant", "system"] = "tenant"
|
|
||||||
|
|
||||||
|
|
||||||
class GroupInfo(BaseModel):
|
|
||||||
id: str
|
|
||||||
slug: str
|
|
||||||
name: str
|
|
||||||
|
|
||||||
|
|
||||||
class LoginResponse(BaseModel):
|
|
||||||
access_token: str
|
|
||||||
token_type: str = "bearer"
|
|
||||||
expires_at: datetime
|
|
||||||
user: UserInfo
|
|
||||||
# Backwards-compatible alias for the active tenant.
|
|
||||||
tenant: TenantInfo
|
|
||||||
active_tenant: TenantInfo
|
|
||||||
tenants: list[TenantMembershipInfo] = Field(default_factory=list)
|
|
||||||
scopes: list[str]
|
|
||||||
roles: list[RoleInfo] = Field(default_factory=list)
|
|
||||||
groups: list[GroupInfo] = Field(default_factory=list)
|
|
||||||
|
|
||||||
|
|
||||||
class MeResponse(BaseModel):
|
|
||||||
user: UserInfo
|
|
||||||
# Backwards-compatible alias for the active tenant.
|
|
||||||
tenant: TenantInfo
|
|
||||||
active_tenant: TenantInfo
|
|
||||||
tenants: list[TenantMembershipInfo] = Field(default_factory=list)
|
|
||||||
scopes: list[str]
|
|
||||||
roles: list[RoleInfo] = Field(default_factory=list)
|
|
||||||
groups: list[GroupInfo] = Field(default_factory=list)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user