You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
890 B
46 lines
890 B
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class BackendSummary(BaseModel):
|
|
id: str
|
|
name: str
|
|
type: str
|
|
stability_class: str
|
|
read_priority: int
|
|
write_priority: int
|
|
is_enabled: bool
|
|
last_health_status: str | None
|
|
last_health_checked_at: datetime | None
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
|
|
class BackendListResponse(BaseModel):
|
|
items: list[BackendSummary]
|
|
|
|
|
|
class CreateBackendRequest(BaseModel):
|
|
name: str
|
|
type: str
|
|
stability_class: str
|
|
read_priority: int
|
|
write_priority: int
|
|
config: dict
|
|
|
|
|
|
class CreateBackendResponse(BaseModel):
|
|
backend: BackendSummary
|
|
|
|
|
|
class BackendCheckResponse(BaseModel):
|
|
backend_id: str
|
|
status: str
|
|
checked_at: datetime | None
|
|
detail: str | None = None
|
|
|
|
|
|
class BackendMutationResponse(BaseModel):
|
|
ok: bool = True
|
|
backend: BackendSummary
|
|
|