import uuid from datetime import datetime from pydantic import BaseModel class GameCreate(BaseModel): name: str description: str = "" adventure_text: str = "" class GameRead(BaseModel): id: uuid.UUID name: str description: str creator_id: uuid.UUID creator_name: str player_count: int player_names: list[str] participation_code: str | None # only populated for the creator created_at: datetime is_participant: bool my_character_id: uuid.UUID | None status: str ended_reason: str | None has_adventure: bool my_self_rolls: bool my_pending_roll: dict | None class GameJoin(BaseModel): participation_code: str character_id: uuid.UUID | None = None class SelfRollsUpdate(BaseModel): self_rolls: bool