"""Pydantic request/response models.""" from __future__ import annotations from datetime import datetime from pydantic import BaseModel, ConfigDict class GameCreate(BaseModel): name: str notes: str | None = None class GameOut(BaseModel): model_config = ConfigDict(from_attributes=True) id: int name: str notes: str | None = None class SnapshotOut(BaseModel): model_config = ConfigDict(from_attributes=True) id: int game_id: int | None binary_name: str sha256: str engine: str | None compiler: str | None schema_version: int | None n_types: int n_methods: int n_events: int n_fields: int created_at: datetime class SnapshotDetail(SnapshotOut): data: dict class GameDetail(GameOut): snapshots: list[SnapshotOut] = []