From a91da27318b91e3092a377df244bdac8da6052c4 Mon Sep 17 00:00:00 2001 From: Furior Date: Sat, 1 Mar 2025 18:59:47 +0700 Subject: [PATCH] wls/discord_ids endoint --- app/routes/v1/whitelist.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/routes/v1/whitelist.py b/app/routes/v1/whitelist.py index ecf803e..f085235 100644 --- a/app/routes/v1/whitelist.py +++ b/app/routes/v1/whitelist.py @@ -112,6 +112,27 @@ async def get_whitelisted_ckeys(session: SessionDep, return paginate_selection(session, selection, request, page, page_size) +@whitelist_router.get("/discord_ids", + status_code=status.HTTP_200_OK, + responses={ + status.HTTP_200_OK: {"description": "Whitelisted discord ids"}, + }) +async def get_whitelisted_discord_ids(session: SessionDep, + request: Request, + server_type: str | None = None, + active_only: bool = True, + page: int = 1, + page_size: int = 50) -> PaginatedResponse[str]: + selection = select(Player.discord_id).join( + Whitelist, Player.id == Whitelist.player_id).distinct() # type: ignore + + selection = filter_whitelists(selection, + server_type=server_type, + active_only=active_only) + + return paginate_selection(session, selection, request, page, page_size) + + @whitelist_router.get("/{id}", status_code=status.HTTP_200_OK, responses={