Paper Dynasty Database - PostgreSQL database service
Go to file
Cal Corum 4a03f98803 feat(WP-07): card state API endpoints — closes #72
Add two endpoints for reading EvolutionCardState:

  GET /api/v2/teams/{team_id}/evolutions
    - Optional filters: card_type, tier
    - Pagination: page / per_page (default 10, max 100)
    - Joins EvolutionTrack so card_type filter is a single query
    - Returns {count, items} with full card state + threshold context

  GET /api/v2/evolution/cards/{card_id}
    - Resolves card_id -> (player_id, team_id) via Card table
    - Duplicate cards for same player+team share one state row
    - Returns 404 when card missing or has no evolution state

Both endpoints:
  - Require bearer token auth (valid_token dependency)
  - Embed the EvolutionTrack in each item (not just the FK id)
  - Compute next_threshold: threshold for tier above current (null at T4)
  - Share _build_card_state_response() helper in evolution.py

Also cleans up 30 pre-existing ruff violations in teams.py that were
blocking the pre-commit hook: F541 bare f-strings, E712 boolean
comparisons (now noqa where Peewee ORM requires == False/True),
and F841 unused variable assignments.

Tests: tests/test_evolution_state_api.py — 10 integration tests that
skip automatically without POSTGRES_HOST, following the same pattern as
test_evolution_track_api.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 13:48:05 -05:00
.gitea/workflows fix: remove Docker Hub registry cache to unblock builds 2026-03-16 17:11:08 +00:00
app feat(WP-07): card state API endpoints — closes #72 2026-03-18 13:48:05 -05:00
docs Remove deprecated legacy files and reorganize documentation 2026-02-05 13:34:09 -06:00
migrations fix: address PR #104 review feedback 2026-03-18 00:04:04 -05:00
scripts Add production deployment config and fix stringified list parsing 2026-01-30 14:03:07 -06:00
storage/templates fix: add asyncio.Lock to get_browser() and deduplicate font-face blocks 2026-03-13 08:28:58 -05:00
tests feat(WP-07): card state API endpoints — closes #72 2026-03-18 13:48:05 -05:00
.dockerignore Add .dockerignore 2026-01-30 22:47:07 -06:00
.env fix: correct inverted TESTING env check and leading space in .env (#23) 2026-03-03 21:43:54 +00:00
.env.example CLAUDE: Add .env.example with comprehensive configuration guide 2025-11-07 11:53:23 -06:00
.gitignore ci: Use Gitea API for tag creation to avoid branch protection issues 2026-02-17 17:23:21 -06:00
CLAUDE.md docs: add next-release branch workflow to CLAUDE.md 2026-03-03 10:56:03 -06:00
compose.production.yml Add production deployment config and fix stringified list parsing 2026-01-30 14:03:07 -06:00
docker-compose.yml CLAUDE: Comment out API service - prevents race condition in db_engine.py 2025-11-07 14:07:13 -06:00
Dockerfile fix: correct COPY path and add CMD in Dockerfile 2026-03-17 20:09:04 +00:00
LICENSE Initial commit 2023-02-19 21:38:07 -06:00
pyproject.toml feat: Track Catalog API endpoints (WP-06) (#71) 2026-03-12 20:40:38 -05:00
requirements.txt chore: pin all Python dependency versions in requirements.txt (#64) 2026-03-10 01:35:31 -05:00
ruff.toml fix: address PR review findings 2026-03-17 21:38:12 -05:00
VERSION Bump version to 1.5.5 2026-02-04 08:48:12 -06:00