Implement 13 endpoints: read-only reference data (games, routes, pokemon), run CRUD with cascading deletes, and encounter management. Uses Pydantic v2 with camelCase alias generation to match frontend types, and nested response schemas for detail views. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
title, status, type, priority, created_at, updated_at, parent, blocking
| title | status | type | priority | created_at | updated_at | parent | blocking | ||
|---|---|---|---|---|---|---|---|---|---|
| API Endpoints Implementation | completed | task | normal | 2026-02-04T15:46:59Z | 2026-02-05T13:47:57Z | nuzlocke-tracker-f5ob |
|
Implement the REST/GraphQL API endpoints for the tracker.
Checklist
- Reference Data endpoints (read-only for tracker):
- GET /api/v1/games - List all games
- GET /api/v1/games/:id - Get game details with routes
- GET /api/v1/games/:id/routes - List routes for a game
- GET /api/v1/routes/:id/pokemon - List available Pokémon for a route
- GET /api/v1/pokemon/:id - Get Pokémon details
- Run Management endpoints:
- POST /api/v1/runs - Create new run
- GET /api/v1/runs - List all runs
- GET /api/v1/runs/:id - Get run details with encounters
- PATCH /api/v1/runs/:id - Update run (settings, status)
- DELETE /api/v1/runs/:id - Delete a run
- Encounter endpoints:
- POST /api/v1/runs/:id/encounters - Log new encounter
- PATCH /api/v1/encounters/:id - Update encounter (status, nickname)
- DELETE /api/v1/encounters/:id - Remove encounter
- Add request validation
- Add proper error responses
Notes
- Follow REST conventions
- Return appropriate HTTP status codes
- Include pagination for list endpoints if needed