From 4ded7f296909c0f962182236c87d3335df548b49 Mon Sep 17 00:00:00 2001 From: chenjintang-shrimp Date: Fri, 8 Aug 2025 18:30:10 +0000 Subject: [PATCH] feat(multiplayer): add support for users leaving playlists room --- app/router/room.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/router/room.py b/app/router/room.py index 45d636b..f98e294 100644 --- a/app/router/room.py +++ b/app/router/room.py @@ -144,6 +144,19 @@ async def add_user_to_room(room: int, user: int, db: AsyncSession = Depends(get_ raise HTTPException(404, "room not found0") +@router.delete("/rooms/{room}/users/{user}", tags=["room"]) +async def remove_user_from_room( + room: int, user: int, db: AsyncSession = Depends(get_db) +): + db_room = (await db.exec(select(Room).where(Room.id == room))).first() + if db_room is not None: + db_room.participant_count -= 1 + await db.commit() + return None + else: + raise HTTPException(404, "Room not found") + + class APILeaderboard(BaseModel): leaderboard: list[ItemAttemptsResp] = Field(default_factory=list) user_score: ItemAttemptsResp | None = None