stable-diffusion-aws-extension/middleware_api/lambda/common/schemas/checkpoints.py

50 lines
1.1 KiB
Python

from decimal import Decimal
from typing import List, Optional
from pydantic import BaseModel, HttpUrl
class CheckpointLink(BaseModel):
rel: str
href: HttpUrl
type: str
class CheckpointParams(BaseModel):
created: Optional[str]
creator: Optional[str]
message: Optional[str]
class CheckpointItem(BaseModel):
id: str
status: str
type: str
links: Optional[List[CheckpointLink]]
allowed_roles_or_users: List[str]
name: Optional[List[str]]
params: Optional[CheckpointParams]
s3_location: Optional[str]
created: Optional[str]
class Config:
json_encoders = {
Decimal: lambda v: str(v)
}
class CheckpointCollection(BaseModel):
items: Optional[List[CheckpointItem]]
links: Optional[List[CheckpointLink]]
previous_evaluated_key: Optional[str]
last_evaluated_key: Optional[str]
page: Optional[int]
per_page: Optional[int]
pages: Optional[int]
total: Optional[int]
class Config:
json_encoders = {
Decimal: lambda v: str(v)
}