40 lines
722 B
Python
40 lines
722 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
|
|
|
|
|
|
class AdminStatus(BaseModel):
|
|
admin_enabled: bool
|