diff --git a/backend/main.py b/backend/main.py index ec5ae56..ecda986 100644 --- a/backend/main.py +++ b/backend/main.py @@ -344,9 +344,8 @@ def api_update_member_role( "admin": 2, "owner": 3, } - - current_role = role_levels.get(get_role(room_id, current_user), 0) - target_role = role_levels.get(get_role(room_id, user_id), 0) + current_role = get_role(room_id, current_user) or 0 + target_role = get_role(room_id, user_id) or 0 if current_role is None: raise HTTPException( diff --git a/backend/permissions.py b/backend/permissions.py index bfbba80..5ac0c3a 100644 --- a/backend/permissions.py +++ b/backend/permissions.py @@ -8,7 +8,7 @@ ROLE_LEVELS = { } -def get_role(room_id: int, user_id: int) -> str | None: +def get_role(room_id: int, user_id: int) -> int | None: member = fetch_one( """ SELECT role @@ -22,7 +22,13 @@ def get_role(room_id: int, user_id: int) -> str | None: if member is None: return None - return member["role"] + role_levels = { + "member": 1, + "admin": 2, + "owner": 3, + } + + return role_levels.get(member["role"]) def has_role(