36 lines
666 B
Python
36 lines
666 B
Python
from datetime import datetime
|
|
from typing import List
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
|
|
class CharacterOut(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
id: int
|
|
name: str
|
|
filename: str
|
|
s3_url: str
|
|
collection_id: int
|
|
|
|
|
|
class CollectionSummary(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
id: int
|
|
name: str
|
|
created_at: datetime
|
|
character_count: int = 0
|
|
|
|
|
|
class CollectionOut(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
id: int
|
|
name: str
|
|
created_at: datetime
|
|
characters: List[CharacterOut] = []
|
|
|
|
|
|
class CollectionCreate(BaseModel):
|
|
name: str
|