68 lines
1.4 KiB
Python
68 lines
1.4 KiB
Python
from typing import List
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class SchemeListItem(BaseModel):
|
|
scheme_id: str
|
|
source_upload_id: str
|
|
name: str
|
|
status: str
|
|
current_version_number: int
|
|
published_at: str | None
|
|
normalized_elements_count: int
|
|
normalized_seats_count: int
|
|
normalized_groups_count: int
|
|
normalized_sectors_count: int
|
|
created_at: str
|
|
|
|
|
|
class SchemeListResponse(BaseModel):
|
|
items: List[SchemeListItem]
|
|
total: int
|
|
|
|
|
|
class SchemeDetailResponse(BaseModel):
|
|
scheme_id: str
|
|
source_upload_id: str
|
|
name: str
|
|
status: str
|
|
current_version_number: int
|
|
published_at: str | None
|
|
normalized_elements_count: int
|
|
normalized_seats_count: int
|
|
normalized_groups_count: int
|
|
normalized_sectors_count: int
|
|
created_at: str
|
|
|
|
|
|
class SchemeCurrentResponse(BaseModel):
|
|
scheme_id: str
|
|
scheme_version_id: str
|
|
version_number: int
|
|
status: str
|
|
normalized_storage_path: str
|
|
normalized_elements_count: int
|
|
normalized_seats_count: int
|
|
normalized_groups_count: int
|
|
normalized_sectors_count: int
|
|
created_at: str
|
|
|
|
|
|
class SchemePublishResponse(BaseModel):
|
|
scheme_id: str
|
|
status: str
|
|
current_version_number: int
|
|
published_at: str | None
|
|
|
|
|
|
class SchemeRollbackRequest(BaseModel):
|
|
target_version_number: int
|
|
|
|
|
|
class SchemeRollbackResponse(BaseModel):
|
|
scheme_id: str
|
|
status: str
|
|
current_version_number: int
|
|
published_at: str | None
|