fix: enforce Literal validation on sort parameter in GET /api/v3/players (#66) #68
@ -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"
|
||||||
),
|
),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user