Closes #172 - New GET /api/v2/refractor/cards endpoint in refractor router with team_id (required), card_type, tier, season, progress, limit, offset filters - season filter uses EXISTS subquery against batting/pitching_season_stats - progress=close filter uses CASE expression to compare current_value against next tier threshold (>= 80%) - LEFT JOIN on Player so deleted players return player_name: null - Sorting: current_tier DESC, current_value DESC - count reflects total matching rows before pagination - Extended _build_card_state_response() with progress_pct (computed) and optional player_name; single-card endpoint gains progress_pct automatically - Added non-unique team_id index on refractor_card_state in db_engine.py - Migration: 2026-03-25_add_refractor_card_state_team_index.sql - Removed pre-existing unused RefractorTrack import in evaluate_game (ruff) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| models | ||
| routers_v2 | ||
| seed | ||
| services | ||
| __init__.py | ||
| card_creation.py | ||
| db_engine.py | ||
| db_helpers.py | ||
| dependencies.py | ||
| main.py | ||
| player_scouting.py | ||