update remove_user_as_admin

This commit is contained in:
ben
2026-08-17 16:57:21 +02:00
parent a8a3ce7399
commit 4e6d58386f
2 changed files with 50 additions and 1 deletions
+26
View File
@@ -1,3 +1,5 @@
# GEEN SQL IN MAIN.PY, DIT IS DE API WRAPPER, HOU HET OVERZICHTELIJK!!
from fastapi import FastAPI, Depends, HTTPException from fastapi import FastAPI, Depends, HTTPException
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import PlainTextResponse from fastapi.responses import PlainTextResponse
@@ -31,6 +33,7 @@ from rooms import (
delete_room as delete_room_db, delete_room as delete_room_db,
change_room_name, change_room_name,
regenerate_invite_code, regenerate_invite_code,
remove_room_member,
) )
from events import ( from events import (
@@ -368,6 +371,29 @@ def api_leave_room(
"status": "left", "status": "left",
} }
@app.delete("/rooms/{room_id}/members/{user_id}")
def remove_user_as_admin(
room_id: int,
user_id: int,
current_user: int = Depends(get_current_user),
):
if not has_role(room_id, current_user, "admin"):
raise HTTPException(
status_code=403,
detail="admin permission required",
)
if not remove_room_member(room_id, user_id):
raise HTTPException(
status_code=404,
detail="user is not a member of this room",
)
return {
"status": "removed",
"user_id": user_id,
}
# some settings # some settings
@app.patch("/rooms/{room_id}") @app.patch("/rooms/{room_id}")
+24 -1
View File
@@ -302,4 +302,27 @@ def regenerate_invite_code(room_id):
"status": "updated", "status": "updated",
"room_id": room_id, "room_id": room_id,
"invite_code": new_code "invite_code": new_code
} }
def remove_room_member(room_id, user_id):
member = fetch_one(
"""
SELECT 1
FROM room_members
WHERE room_id = ? AND user_id = ?
""",
(room_id, user_id)
)
if member is None:
return False
execute(
"""
DELETE FROM room_members
WHERE room_id = ? AND user_id = ?
""",
(room_id, user_id)
)
return True