diff --git a/app/routers_v2/scout_opportunities.py b/app/routers_v2/scout_opportunities.py index 25a3a75..b838d4e 100644 --- a/app/routers_v2/scout_opportunities.py +++ b/app/routers_v2/scout_opportunities.py @@ -5,7 +5,7 @@ from typing import Optional, List import logging import pydantic -from ..db_engine import ScoutOpportunity, ScoutClaim, model_to_dict, fn +from ..db_engine import ScoutOpportunity, ScoutClaim, model_to_dict from ..dependencies import oauth2_scheme, valid_token router = APIRouter(prefix="/api/v2/scout_opportunities", tags=["scout_opportunities"]) @@ -32,8 +32,10 @@ async def get_scout_opportunities( claimed: Optional[bool] = None, expired_before: Optional[int] = None, opener_team_id: Optional[int] = None, + limit: Optional[int] = 100, ): + limit = max(0, min(limit, 500)) query = ScoutOpportunity.select().order_by(ScoutOpportunity.id) if opener_team_id is not None: @@ -50,6 +52,7 @@ async def get_scout_opportunities( else: query = query.where(ScoutOpportunity.id.not_in(claim_subquery)) + query = query.limit(limit) results = [opportunity_to_dict(x, recurse=False) for x in query] return {"count": len(results), "results": results}