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

Merged
cal merged 1 commits from ai/major-domo-database-66 into main 2026-04-08 03:54:04 +00:00

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 ( from ..dependencies import (
oauth2_scheme, oauth2_scheme,
@ -27,8 +27,10 @@ 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(default=None, ge=1), limit: Optional[int] = Query(
default=None, ge=1, description="Maximum number of results to return"
),
offset: Optional[int] = Query( offset: Optional[int] = Query(
default=None, ge=0, description="Number of results to skip for pagination" default=None, ge=0, description="Number of results to skip for pagination"
), ),