Skip to content

Commit 93b8e7a

Browse files
committed
wip
1 parent 882466b commit 93b8e7a

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

livekit-rtc/livekit/rtc/participant.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ def kind(self) -> proto_participant.ParticipantKind.ValueType:
119119
"""Participant's kind (e.g., regular participant, ingress, egress, sip, agent)."""
120120
return self._info.kind
121121

122+
@property
123+
def permissions(self) -> proto_participant.ParticipantPermission:
124+
"""The participant's permissions within the room."""
125+
return self._info.permission
126+
122127
@property
123128
def disconnect_reason(
124129
self,

livekit-rtc/livekit/rtc/room.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"participant_attributes_changed",
6666
"connection_quality_changed",
6767
"participant_encryption_status_changed",
68+
"participant_permission_changed",
6869
"data_received",
6970
"sip_dtmf_received",
7071
"transcription_received",
@@ -787,6 +788,16 @@ def _on_room_event(self, event: proto_room.RoomEvent):
787788
participant,
788789
event.participant_encryption_status_changed.is_encrypted,
789790
)
791+
elif which == "participant_permission_changed":
792+
identity = event.participant_permission_changed.participant_identity
793+
participant = self._retrieve_participant(identity)
794+
assert isinstance(participant, Participant)
795+
participant._info.permission.CopyFrom(event.participant_permission_changed.permission)
796+
self.emit(
797+
"participant_permission_changed",
798+
participant,
799+
participant.permissions,
800+
)
790801
elif which == "connection_quality_changed":
791802
identity = event.connection_quality_changed.participant_identity
792803
# TODO: pass participant identity

0 commit comments

Comments
 (0)