Add admin panel with CRUD endpoints and management UI
Add admin API endpoints for games, routes, pokemon, and route encounters with full CRUD operations including bulk import. Build admin frontend with game/route/pokemon management pages, navigation, and data tables. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
from app.schemas.base import CamelModel
|
||||
|
||||
|
||||
@@ -21,3 +23,48 @@ class RouteEncounterResponse(CamelModel):
|
||||
|
||||
class RouteEncounterDetailResponse(RouteEncounterResponse):
|
||||
pokemon: PokemonResponse
|
||||
|
||||
|
||||
# --- Admin schemas ---
|
||||
|
||||
|
||||
class PokemonCreate(CamelModel):
|
||||
national_dex: int
|
||||
name: str
|
||||
types: list[str]
|
||||
sprite_url: str | None = None
|
||||
|
||||
|
||||
class PokemonUpdate(CamelModel):
|
||||
national_dex: int | None = None
|
||||
name: str | None = None
|
||||
types: list[str] | None = None
|
||||
sprite_url: str | None = None
|
||||
|
||||
|
||||
class RouteEncounterCreate(CamelModel):
|
||||
pokemon_id: int
|
||||
encounter_method: str
|
||||
encounter_rate: int
|
||||
min_level: int
|
||||
max_level: int
|
||||
|
||||
|
||||
class RouteEncounterUpdate(CamelModel):
|
||||
encounter_method: str | None = None
|
||||
encounter_rate: int | None = None
|
||||
min_level: int | None = None
|
||||
max_level: int | None = None
|
||||
|
||||
|
||||
class BulkImportItem(BaseModel):
|
||||
national_dex: int
|
||||
name: str
|
||||
types: list[str]
|
||||
sprite_url: str | None = None
|
||||
|
||||
|
||||
class BulkImportResult(CamelModel):
|
||||
created: int
|
||||
updated: int
|
||||
errors: list[str]
|
||||
|
||||
Reference in New Issue
Block a user