Class: LiveKit::RoomServiceClient
- Inherits:
-
Twirp::Client
- Object
- Twirp::Client
- LiveKit::RoomServiceClient
- Includes:
- AuthMixin
- Defined in:
- lib/livekit/room_service_client.rb
Instance Attribute Summary collapse
-
#api_key ⇒ Object
Returns the value of attribute api_key.
-
#api_secret ⇒ Object
Returns the value of attribute api_secret.
Instance Method Summary collapse
- #create_room(name, empty_timeout: nil, max_participants: nil, egress: nil, metadata: nil, min_playout_delay: nil, max_playout_delay: nil, sync_streams: nil, departure_timeout: nil) ⇒ Object
- #delete_room(room:) ⇒ Object
- #get_participant(room:, identity:) ⇒ Object
-
#initialize(base_url, api_key: nil, api_secret: nil) ⇒ RoomServiceClient
constructor
A new instance of RoomServiceClient.
- #list_participants(room:) ⇒ Object
- #list_rooms(names: nil) ⇒ Object
- #mute_published_track(room:, identity:, track_sid:, muted:) ⇒ Object
- #remove_participant(room:, identity:) ⇒ Object
- #send_data(room:, data:, kind:, destination_sids: [], destination_identities: []) ⇒ Object
- #update_participant(room:, identity:, metadata: nil, permission: nil, name: nil) ⇒ Object
- #update_room_metadata(room:, metadata:) ⇒ Object
- #update_subscriptions(room:, identity:, track_sids:, subscribe:) ⇒ Object
Methods included from AuthMixin
Constructor Details
#initialize(base_url, api_key: nil, api_secret: nil) ⇒ RoomServiceClient
Returns a new instance of RoomServiceClient.
13 14 15 16 17 |
# File 'lib/livekit/room_service_client.rb', line 13 def initialize(base_url, api_key: nil, api_secret: nil) super(File.join(Utils.to_http_url(base_url), "/twirp")) @api_key = api_key @api_secret = api_secret end |
Instance Attribute Details
#api_key ⇒ Object
Returns the value of attribute api_key.
11 12 13 |
# File 'lib/livekit/room_service_client.rb', line 11 def api_key @api_key end |
#api_secret ⇒ Object
Returns the value of attribute api_secret.
11 12 13 |
# File 'lib/livekit/room_service_client.rb', line 11 def api_secret @api_secret end |
Instance Method Details
#create_room(name, empty_timeout: nil, max_participants: nil, egress: nil, metadata: nil, min_playout_delay: nil, max_playout_delay: nil, sync_streams: nil, departure_timeout: nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/livekit/room_service_client.rb', line 19 def create_room(name, empty_timeout: nil, max_participants: nil, egress: nil, metadata: nil, min_playout_delay: nil, max_playout_delay: nil, sync_streams: nil, departure_timeout: nil ) self.rpc( :CreateRoom, Proto::CreateRoomRequest.new( name: name, empty_timeout: empty_timeout, departure_timeout: departure_timeout, max_participants: max_participants, egress: egress, metadata: , min_playout_delay: min_playout_delay, max_playout_delay: max_playout_delay, sync_streams: sync_streams ), headers: auth_header(roomCreate: true), ) end |
#delete_room(room:) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/livekit/room_service_client.rb', line 54 def delete_room(room:) self.rpc( :DeleteRoom, Proto::DeleteRoomRequest.new(room: room), headers: auth_header(roomCreate: true), ) end |
#get_participant(room:, identity:) ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/livekit/room_service_client.rb', line 78 def get_participant(room:, identity:) self.rpc( :GetParticipant, Proto::RoomParticipantIdentity.new(room: room, identity: identity), headers: auth_header(roomAdmin: true, room: room), ) end |
#list_participants(room:) ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/livekit/room_service_client.rb', line 70 def list_participants(room:) self.rpc( :ListParticipants, Proto::ListParticipantsRequest.new(room: room), headers: auth_header(roomAdmin: true, room: room), ) end |
#list_rooms(names: nil) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/livekit/room_service_client.rb', line 46 def list_rooms(names: nil) self.rpc( :ListRooms, Proto::ListRoomsRequest.new(names: names), headers: auth_header(roomList: true), ) end |
#mute_published_track(room:, identity:, track_sid:, muted:) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/livekit/room_service_client.rb', line 94 def mute_published_track(room:, identity:, track_sid:, muted:) self.rpc( :MutePublishedTrack, Proto::MuteRoomTrackRequest.new( room: room, identity: identity, track_sid: track_sid, muted: muted, ), headers: auth_header(roomAdmin: true, room: room), ) end |
#remove_participant(room:, identity:) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/livekit/room_service_client.rb', line 86 def remove_participant(room:, identity:) self.rpc( :RemoveParticipant, Proto::RoomParticipantIdentity.new(room: room, identity: identity), headers: auth_header(roomAdmin: true, room: room), ) end |
#send_data(room:, data:, kind:, destination_sids: [], destination_identities: []) ⇒ Object
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/livekit/room_service_client.rb', line 138 def send_data(room:, data:, kind:, destination_sids: [], destination_identities: [] ) self.rpc( :SendData, Proto::SendDataRequest.new( room: room, data: data, kind: kind, destination_sids: destination_sids, destination_identities: destination_identities, ), headers: auth_header(roomAdmin: true, room: room), ) end |
#update_participant(room:, identity:, metadata: nil, permission: nil, name: nil) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/livekit/room_service_client.rb', line 107 def update_participant(room:, identity:, metadata: nil, permission: nil, name: nil) req = Proto::UpdateParticipantRequest.new(room: room, identity: identity) if req. = end if req. = end if name req.name = name end self.rpc( :UpdateParticipant, req, headers: auth_header(roomAdmin: true, room: room), ) end |
#update_room_metadata(room:, metadata:) ⇒ Object
62 63 64 65 66 67 68 |
# File 'lib/livekit/room_service_client.rb', line 62 def (room:, metadata:) self.rpc( :UpdateRoomMetadata, Proto::UpdateRoomMetadataRequest.new(room: room, metadata: ), headers: auth_header(roomAdmin: true, room: room), ) end |
#update_subscriptions(room:, identity:, track_sids:, subscribe:) ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/livekit/room_service_client.rb', line 125 def update_subscriptions(room:, identity:, track_sids:, subscribe:) self.rpc( :UpdateSubscriptions, Proto::UpdateSubscriptionsRequest.new( room: room, identity: identity, track_sids: track_sids, subscribe: subscribe, ), headers: auth_header(roomAdmin: true, room: room), ) end |