from database import fetch_one ROLE_LEVELS = { "member": 1, "admin": 2, "owner": 3, } def get_role(room_id: int, user_id: int): member = fetch_one( """ SELECT role FROM room_members WHERE room_id = ? AND user_id = ? """, (room_id, user_id) ) if member is None: return None return member["role"] def has_role( room_id: int, user_id: int, required_role: str ) -> bool: role = get_role(room_id, user_id) if role is None: return False return ROLE_LEVELS.get(role, 0) >= ROLE_LEVELS[required_role] def whoami(room_id: int, user_id: int): role = get_role(room_id, user_id) if role is None: return { "member": False, "role": None, } return { "member": True, "role": role, "is_admin": ROLE_LEVELS[role] >= ROLE_LEVELS["admin"], "is_owner": role == "owner", }