fix: enforce Literal validation on sort parameter in GET /api/v3/players (#66)

Closes #66

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Cal Corum 2026-03-17 18:03:20 -05:00
parent 580e8ea031
commit ece25ec22c

View File

@ -4,7 +4,7 @@ Thin HTTP layer using PlayerService for business logic.
"""
from fastapi import APIRouter, Query, Response, Depends
from typing import Optional, List
from typing import Literal, Optional, List
from ..dependencies import (
oauth2_scheme,
@ -27,8 +27,10 @@ async def get_players(
pos: list = Query(default=None),
strat_code: list = Query(default=None),
is_injured: Optional[bool] = None,
sort: Optional[str] = None,
limit: Optional[int] = Query(default=None, ge=1),
sort: Optional[Literal["cost-asc", "cost-desc", "name-asc", "name-desc"]] = None,
limit: Optional[int] = Query(
default=None, ge=1, description="Maximum number of results to return"
),
offset: Optional[int] = Query(
default=None, ge=0, description="Number of results to skip for pagination"
),