from datetime import datetime from app.schemas.base import CamelModel from app.schemas.game import RouteResponse from app.schemas.pokemon import PokemonResponse class EncounterCreate(CamelModel): route_id: int pokemon_id: int nickname: str | None = None status: str catch_level: int | None = None class EncounterUpdate(CamelModel): nickname: str | None = None status: str | None = None faint_level: int | None = None death_cause: str | None = None class EncounterResponse(CamelModel): id: int run_id: int route_id: int pokemon_id: int nickname: str | None status: str catch_level: int | None faint_level: int | None death_cause: str | None caught_at: datetime class EncounterDetailResponse(EncounterResponse): pokemon: PokemonResponse route: RouteResponse