diff --git a/app/routers_v2/scout_claims.py b/app/routers_v2/scout_claims.py index 501a1b4..2ae3d85 100644 --- a/app/routers_v2/scout_claims.py +++ b/app/routers_v2/scout_claims.py @@ -4,7 +4,7 @@ from typing import Optional import logging import pydantic -from ..db_engine import ScoutClaim, ScoutOpportunity, model_to_dict +from ..db_engine import ScoutClaim, model_to_dict from ..dependencies import oauth2_scheme, valid_token router = APIRouter(prefix="/api/v2/scout_claims", tags=["scout_claims"]) @@ -18,7 +18,9 @@ class ScoutClaimModel(pydantic.BaseModel): @router.get("") async def get_scout_claims( - scout_opportunity_id: Optional[int] = None, claimed_by_team_id: Optional[int] = None + scout_opportunity_id: Optional[int] = None, + claimed_by_team_id: Optional[int] = None, + limit: Optional[int] = 100, ): query = ScoutClaim.select().order_by(ScoutClaim.id) @@ -28,6 +30,10 @@ async def get_scout_claims( if claimed_by_team_id is not None: query = query.where(ScoutClaim.claimed_by_team_id == claimed_by_team_id) + if limit is not None: + limit = max(0, min(limit, 500)) + query = query.limit(limit) + results = [model_to_dict(x, recurse=False) for x in query] return {"count": len(results), "results": results}