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

Open
Claude wants to merge 1 commits from ai/major-domo-database-66 into main

View File

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