Module: ChimeSdk::MeetingCoordinator
- Defined in:
- lib/chime_sdk/meeting_coordinator.rb
Overview
Meeting coordinator as a wrapper module of AWS SDK for Ruby, which simulates AWS SDK for JavaScript.
Class Method Summary collapse
-
.attendee_as_json(attendee) ⇒ Hash
Build attendee JSON object as hash from Aws::ChimeSDKMeetings::Types::Attendee object.
-
.client ⇒ Aws::ChimeSDKMeetings::Client
Return initialized Aws::ChimeSDKMeetings::Client.
-
.create_attendee(meeting_id, attendee_request_id, capabilities: nil) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#create_attendee method.
-
.create_meeting(meeting_request_id, media_region: ChimeSdk.config.media_region, meeting_host_id: nil, notifications_configuration: {}, meeting_features: {}, primary_meeting_id: nil, tenant_ids: nil, tags: []) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#create_meeting method.
-
.delete_attendee(meeting_id, attendee_id) ⇒ void
Wrapper of Aws::ChimeSDKMeetings::Client#delete_attendee method.
-
.delete_meeting(meeting_id) ⇒ void
Wrapper of Aws::ChimeSDKMeetings::Client#delete_meeting method.
-
.get_attendee(meeting_id, attendee_id) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#get_attendee method.
-
.get_meeting(meeting_id) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#get_meeting method.
-
.list_attendees(meeting_id, max_results: ChimeSdk.config.max_attendee_results) ⇒ Array<Hash>
Wrapper of Aws::ChimeSDKMeetings::Client#list_attendees method.
-
.meeting_as_json(meeting) ⇒ Hash
Build meeting JSON object as hash from Aws::ChimeSDKMeetings::Types::Meeting object.
-
.reset_client(client) ⇒ Aws::ChimeSDKMeetings::Client
Reset client with initialized Aws::ChimeSDKMeetings::Client instance.
Class Method Details
.attendee_as_json(attendee) ⇒ Hash
Build attendee JSON object as hash from Aws::ChimeSDKMeetings::Types::Attendee object
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 199 def self.attendee_as_json(attendee) return {} unless attendee.is_a?(Aws::ChimeSDKMeetings::Types::Attendee) attendee_json = { "Attendee": { "ExternalUserId": attendee.external_user_id, "AttendeeId": attendee.attendee_id, "JoinToken": attendee.join_token } } unless attendee.capabilities.nil? attendee_json[:Attendee]["Capabilities"] = { "Audio": attendee.capabilities.audio, "Video": attendee.capabilities.video, "Content": attendee.capabilities.content } end attendee_json end |
.client ⇒ Aws::ChimeSDKMeetings::Client
Return initialized Aws::ChimeSDKMeetings::Client. You must use "us-east-1" as the region for Chime API and set the endpoint.
12 13 14 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 12 def self.client @@client ||= Aws::ChimeSDKMeetings::Client.new(region: 'us-east-1') end |
.create_attendee(meeting_id, attendee_request_id, capabilities: nil) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#create_attendee method. This method uses 'ChimeSdk.config.prefix + attendee_request_id' for external_user_id.
109 110 111 112 113 114 115 116 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 109 def self.create_attendee(meeting_id, attendee_request_id, capabilities: nil) resp = client.create_attendee({ meeting_id: meeting_id, external_user_id: ChimeSdk.config.prefix + attendee_request_id, capabilities: capabilities }) attendee_as_json(resp.attendee) end |
.create_meeting(meeting_request_id, media_region: ChimeSdk.config.media_region, meeting_host_id: nil, notifications_configuration: {}, meeting_features: {}, primary_meeting_id: nil, tenant_ids: nil, tags: []) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#create_meeting method. This method uses 'ChimeSdk.config.prefix + meeting_request_id' for client_request_token and external_meeting_id.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 35 def self.create_meeting(meeting_request_id, media_region: ChimeSdk.config.media_region, meeting_host_id: nil, notifications_configuration: {}, meeting_features: {}, primary_meeting_id: nil, tenant_ids: nil, tags: [] ) resp = client.create_meeting({ client_request_token: ChimeSdk.config.prefix + meeting_request_id, media_region: media_region, meeting_host_id: meeting_host_id, external_meeting_id: ChimeSdk.config.prefix + meeting_request_id, notifications_configuration: notifications_configuration, meeting_features: meeting_features, primary_meeting_id: primary_meeting_id, tenant_ids: tenant_ids, tags: }) meeting_as_json(resp.meeting) end |
.delete_attendee(meeting_id, attendee_id) ⇒ void
This method returns an undefined value.
Wrapper of Aws::ChimeSDKMeetings::Client#delete_attendee method.
136 137 138 139 140 141 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 136 def self.delete_attendee(meeting_id, attendee_id) client.delete_attendee({ meeting_id: meeting_id, attendee_id: attendee_id }) end |
.delete_meeting(meeting_id) ⇒ void
This method returns an undefined value.
Wrapper of Aws::ChimeSDKMeetings::Client#delete_meeting method.
73 74 75 76 77 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 73 def self.delete_meeting(meeting_id) client.delete_meeting({ meeting_id: meeting_id }) end |
.get_attendee(meeting_id, attendee_id) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#get_attendee method.
123 124 125 126 127 128 129 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 123 def self.get_attendee(meeting_id, attendee_id) resp = client.get_attendee({ meeting_id: meeting_id, attendee_id: attendee_id }) attendee_as_json(resp.attendee) end |
.get_meeting(meeting_id) ⇒ Hash
Wrapper of Aws::ChimeSDKMeetings::Client#get_meeting method.
62 63 64 65 66 67 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 62 def self.get_meeting(meeting_id) resp = client.get_meeting({ meeting_id: meeting_id }) meeting_as_json(resp.meeting) end |
.list_attendees(meeting_id, max_results: ChimeSdk.config.max_attendee_results) ⇒ Array<Hash>
Wrapper of Aws::ChimeSDKMeetings::Client#list_attendees method.
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 84 def self.list_attendees(meeting_id, max_results: ChimeSdk.config.max_attendee_results ) # attendees = [], next_token = nil # loop do resp = client.list_attendees({ meeting_id: meeting_id, # next_token: next_token, max_results: max_results }) # next_token = resp.next_token # attendees += resp.attendees # break if next_token.nil? # end # attendees.map { |attendee| attendee_as_json(attendee) } resp.attendees.map { |attendee| attendee_as_json(attendee) } end |
.meeting_as_json(meeting) ⇒ Hash
Build meeting JSON object as hash from Aws::ChimeSDKMeetings::Types::Meeting object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 148 def self.meeting_as_json(meeting) return {} unless meeting.is_a?(Aws::ChimeSDKMeetings::Types::Meeting) meeting_json = { "Meeting": { "MeetingId": meeting.meeting_id, "MeetingHostId": meeting.meeting_host_id, "ExternalMeetingId": meeting.external_meeting_id, "MediaRegion": meeting.media_region, "MediaPlacement": { "AudioHostUrl": meeting.media_placement.audio_host_url, "AudioFallbackUrl": meeting.media_placement.audio_fallback_url, "SignalingUrl": meeting.media_placement.signaling_url, "TurnControlUrl": meeting.media_placement.turn_control_url, # This parameter is deprecated and no longer used by the Amazon Chime SDK "ScreenDataUrl": meeting.media_placement.screen_data_url, # This parameter is deprecated and no longer used by the Amazon Chime SDK "ScreenViewingUrl": meeting.media_placement.screen_viewing_url, # This parameter is deprecated and no longer used by the Amazon Chime SDK "ScreenSharingUrl": meeting.media_placement.screen_sharing_url, # This parameter is deprecated and no longer used by the Amazon Chime SDK "EventIngestionUrl": meeting.media_placement.event_ingestion_url }, "PrimaryMeetingId": meeting.primary_meeting_id, "TenantIds": meeting.tenant_ids, "MeetingArn": meeting.meeting_arn } } unless meeting.meeting_features.nil? meeting_json[:Meeting]["MeetingFeatures"] = { "Audio": { "EchoReduction": meeting.meeting_features.audio.echo_reduction }, "Video": { "MaxResolution": meeting.meeting_features.video.max_resolution }, "Content": { "MaxResolution": meeting.meeting_features.content.max_resolution }, "Attendee": { "MaxCount": meeting.meeting_features.attendee.max_count } } end meeting_json end |
.reset_client(client) ⇒ Aws::ChimeSDKMeetings::Client
Reset client with initialized Aws::ChimeSDKMeetings::Client instance.
19 20 21 |
# File 'lib/chime_sdk/meeting_coordinator.rb', line 19 def self.reset_client(client) @@client = client end |