amazon-chime-sdk-rails 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d59c736cb0f6bf4499881e47e5155d8588a1ec8e684c15c20f68a969f0ba2f7f
4
- data.tar.gz: d575c8ebe17e7cadd5ac7a6c8f1e77edf33355f5f04a273e8cc57b0f3cfd455e
3
+ metadata.gz: 7043551e2f5cda62424e44f900a17eacf61dd23c5031f4d84dbb130eac22e2cf
4
+ data.tar.gz: 7b13195e5ee0dce1365024f164b4ad39ae481ae09b28833dd6058729c17f6505
5
5
  SHA512:
6
- metadata.gz: 61124852770d68817004214de3da7ca218e11935b7e33483f39e050bbb29775e9fdb656b3d7e20cd73d7f8785f7bf30cf9e07ffa066cf63addafffbed0396c87
7
- data.tar.gz: cf526cf4c65d014a50c2d385f85d082f138ab63c653d756dce9557b7c181723c2fc9495b269b0a2cbe067e107f7542de149b299ba5f344eefb7bcb1b10799702
6
+ metadata.gz: dd6dc1a0ae0c9794f0a2ac8fc2d0d24c05848229cbd8d5155a2cc4e1ca1e14a0fa62fa0f874b5d8d8d07dba49914c35af771c58fc7529fd8987d8e5080f7ba79
7
+ data.tar.gz: 51938a494e814da4641795fe2f698014c79d15a9c1d66568025f13af15403f770896150bf89083a6ce063234edb850bf69a406255118337a6c014178d458b8fa
@@ -11,8 +11,9 @@ on:
11
11
  - '!images'
12
12
 
13
13
  env:
14
- # https://nodejs.org/en/download/releases/
15
- node-version: 16.14.0
14
+ # https://nodejs.org/en/download/current
15
+ # https://nodejs.org/en/about/previous-releases
16
+ node-version: 21.6.2
16
17
 
17
18
  jobs:
18
19
  build:
@@ -23,12 +24,15 @@ jobs:
23
24
  gemfile:
24
25
  - gemfiles/Gemfile.rails-6.1
25
26
  - gemfiles/Gemfile.rails-7.0
27
+ - gemfiles/Gemfile.rails-7.1
26
28
  include:
27
29
  # https://www.ruby-lang.org/en/downloads
28
30
  - gemfile: gemfiles/Gemfile.rails-6.1
29
- ruby-version: 3.2.2
31
+ ruby-version: 3.3.0
30
32
  - gemfile: gemfiles/Gemfile.rails-7.0
31
- ruby-version: 3.2.2
33
+ ruby-version: 3.3.0
34
+ - gemfile: gemfiles/Gemfile.rails-7.1
35
+ ruby-version: 3.3.0
32
36
  - gemfile: Gemfile
33
37
  ruby-version: head
34
38
  allow_failures: 'true'
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 2.0.0 / 2024-02-28
2
+ [Full Changelog](http://github.com/simukappu/amazon-chime-sdk-rails/compare/v1.1.1...v2.0.0)
3
+
4
+ Enhancements:
5
+
6
+ * Update [API namespace from Chime to ChimeSDKMeetings](https://docs.aws.amazon.com/chime-sdk/latest/dg/migrate-from-chm-namespace.html)
7
+ * Update embedded [Chime SDK from v2 to v3](https://aws.github.io/amazon-chime-sdk-js/modules/migrationto_3_0.html)
8
+ * Update test case with Rails 7.1
9
+
1
10
  ## 1.1.1 / 2023-07-17
2
11
  [Full Changelog](http://github.com/simukappu/amazon-chime-sdk-rails/compare/v1.1.0...v1.1.1)
3
12
 
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:3.0.4
1
+ FROM ruby:3.3.0
2
2
  RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs npm
3
3
  ENV ROOT="/amazon-chime-sdk-rails"
4
4
  WORKDIR ${ROOT}
data/Gemfile CHANGED
@@ -3,7 +3,9 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  # Bundle Rails
6
- gem 'rails', '~> 7.0.0'
6
+ gem 'rails', '~> 7.1.0'
7
+ # https://github.com/lynndylanhurley/devise_token_auth/pull/1606
8
+ gem 'devise_token_auth', git: 'https://github.com/lynndylanhurley/devise_token_auth.git'
7
9
 
8
10
  gem 'sqlite3'
9
11
  gem 'puma'
data/README.md CHANGED
@@ -20,6 +20,8 @@
20
20
  * *Single Javascript Generator* - Generator to [bundle Amazon Chime SDK into a single .js file](https://github.com/aws-samples/amazon-chime-sdk/tree/main/utils/singlejs) and put it into [Asset Pipeline](https://guides.rubyonrails.org/asset_pipeline.html) for your Rails application with Action View.
21
21
  * *View Generator* - Generator to create customizable meetings views for your Rails application with Action View.
22
22
 
23
+ Note: The latest *amazon-chime-sdk-rails* supports AWS SDK endpoint with latest [ChimeSDKMeetings](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Meetings.html) namespace. If you want to use deprecated [Chime](https://docs.aws.amazon.com/chime/latest/APIReference/welcome.html) namespace, use older version of *amazon-chime-sdk-rails*. See [Migrating from the Amazon Chime namespace](https://docs.aws.amazon.com/chime-sdk/latest/dg/migrate-from-chm-namespace.html) for more details.
24
+
23
25
 
24
26
  ## Getting Started
25
27
 
@@ -137,7 +139,8 @@ Push "Continue" and go to the private meeting room!
137
139
 
138
140
  ### Deploy application to your AWS environment
139
141
 
140
- At first, [install the latest version of AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) and [set up AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) in your local environment.
142
+ At first, [install the latest version of AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), [set up AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) and [](Installing the AWS SAM CLI) in your local environment.
143
+ At first, [install the latest version of AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), [set up AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) and [installing the AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) in your local environment.
141
144
 
142
145
  Deploy customized React Meeting Demo to your AWS environment:
143
146
 
@@ -178,7 +181,7 @@ $ copilot init
178
181
  > ./Dockerfile
179
182
  Enter custom path for your Dockerfile
180
183
  Use an existing image instead
181
- Would you like to deploy a test environment? [? for help] (y/N) no
184
+ Would you like to deploy an environment? [? for help] (y/N) no
182
185
  $ mkdir copilot/rails-app/addons && cp templates/amazon-chime-sdk-policy.yml copilot/rails-app/addons/
183
186
  $ copilot env init --name test --profile default --app amazon-chime-sdk-rails
184
187
  Would you like to use the default configuration for a new environment?
@@ -189,6 +192,7 @@ $ copilot env init --name test --profile default --app amazon-chime-sdk-rails
189
192
  > Yes, use default.
190
193
  Yes, but I'd like configure the default resources (CIDR ranges, AZs).
191
194
  No, I'd like to import existing resources (VPC, subnets).
195
+ $ copilot env deploy --name test
192
196
  $ REACT_MEETING_DEMO_URL=`aws cloudformation describe-stacks --region us-east-1 --stack-name react-meeting-demo | jq -r '.Stacks[].Outputs[].OutputValue'`
193
197
  $ gsed -i "s/#variables:/variables:/g" copilot/rails-app/manifest.yml
194
198
  $ gsed -i "/variables:/a\ REACT_MEETING_DEMO_URL: $REACT_MEETING_DEMO_URL" copilot/rails-app/manifest.yml
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.required_ruby_version = '>= 2.2.2'
20
20
 
21
21
  s.add_dependency 'railties', '>= 5.0.0'
22
- s.add_dependency 'aws-sdk-chime', '>= 1.0.0'
22
+ s.add_dependency 'aws-sdk-chimesdkmeetings', '>= 1.0.0'
23
23
 
24
24
  s.add_development_dependency 'rspec-rails', '>= 4.0.1'
25
25
  s.add_development_dependency 'factory_bot_rails', '>= 6.1.0'
@@ -10,13 +10,12 @@ gem 'puma'
10
10
  gem 'sass-rails'
11
11
  gem 'turbolinks'
12
12
  gem 'jbuilder'
13
- gem 'sprockets-rails'
14
13
 
15
14
  group :development do
16
15
  gem 'web-console'
17
16
  gem 'listen'
18
17
  gem 'spring'
19
- gem 'spring-watcher-listen', git: 'https://github.com/rails/spring-watcher-listen.git'
18
+ gem 'spring-watcher-listen'
20
19
  end
21
20
 
22
21
  group :test do
@@ -0,0 +1,26 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../'
4
+
5
+ # Bundle Rails
6
+ gem 'rails', '~> 7.1.0'
7
+ # https://github.com/lynndylanhurley/devise_token_auth/pull/1606
8
+ gem 'devise_token_auth', git: 'https://github.com/lynndylanhurley/devise_token_auth.git'
9
+
10
+ gem 'sqlite3'
11
+ gem 'puma'
12
+ gem 'sass-rails'
13
+ gem 'turbolinks'
14
+ gem 'jbuilder'
15
+
16
+ group :development do
17
+ gem 'web-console'
18
+ gem 'listen'
19
+ gem 'spring'
20
+ gem 'spring-watcher-listen'
21
+ end
22
+
23
+ group :test do
24
+ # gem 'coveralls', require: false
25
+ gem 'coveralls_reborn', require: false
26
+ end
@@ -17,7 +17,6 @@ module ChimeSdk
17
17
  # config.appication_name = 'chime-sdk-rails'
18
18
  # config.media_region = 'us-east-1'
19
19
  # config.prefix = "#{config.application_name}-#{Rails.env}-"
20
- # config.max_meeting_results = 10
21
20
  # config.max_attendee_results = 10
22
21
  # config.create_meeting_with_attendee = true
23
22
  # config.create_attendee_from_meeting = true
@@ -27,8 +26,8 @@ module ChimeSdk
27
26
  yield(config) if block_given?
28
27
  end
29
28
 
30
- # Load AWS SDK for Amazon Chime
31
- require 'aws-sdk-chime'
29
+ # Load AWS SDK for Amazon Chime SDK meetings
30
+ require 'aws-sdk-chimesdkmeetings'
32
31
 
33
32
  # Load ChimeSdk helpers
34
33
  require 'chime_sdk/controller/common'
@@ -28,15 +28,6 @@ module ChimeSdk
28
28
  # @return [Boolean] Prefix to make unique key of Chime SDK meetings and attendees
29
29
  attr_accessor :prefix
30
30
 
31
- # @overload max_meeting_results
32
- # Return default max_results value used in list_meetings API.
33
- # @return [Boolean] Default max_results value used in list_meetings API
34
- # @overload max_meeting_results=(value)
35
- # Set default max_results value used in list_meetings API.
36
- # @param [Boolean] max_meeting_results The new max_meeting_results
37
- # @return [Boolean] Default max_results value used in list_meetings API
38
- attr_accessor :max_meeting_results
39
-
40
31
  # @overload max_attendee_results
41
32
  # Return default max_results value used in list_attendees API.
42
33
  # @return [Boolean] Default max_results value used in list_attendees API
@@ -80,7 +71,6 @@ module ChimeSdk
80
71
  @application_name = 'chime-sdk-rails'
81
72
  @media_region = 'us-east-1'
82
73
  @prefix = "#{@application_name}-#{Rails.env}-"
83
- @max_meeting_results = 10
84
74
  @max_attendee_results = 10
85
75
  @create_meeting_with_attendee = true
86
76
  @create_attendee_from_meeting = true
@@ -6,9 +6,9 @@ module ChimeSdk
6
6
  extend ActiveSupport::Concern
7
7
 
8
8
  included do
9
- rescue_from Aws::Chime::Errors::ForbiddenException, with: :render_forbidden
10
- rescue_from Aws::Chime::Errors::NotFoundException, with: :render_resource_not_found
11
- rescue_from Aws::Chime::Errors::ValidationException, with: :render_resource_not_found
9
+ rescue_from Aws::ChimeSDKMeetings::Errors::ForbiddenException, with: :render_forbidden
10
+ rescue_from Aws::ChimeSDKMeetings::Errors::NotFoundException, with: :render_resource_not_found
11
+ rescue_from Aws::ChimeSDKMeetings::Errors::ValidationException, with: :render_resource_not_found
12
12
 
13
13
  class ::String
14
14
  # Convets to boolean.
@@ -39,14 +39,6 @@ module ChimeSdk
39
39
  @attendee ? @attendee[:Attendee][:AttendeeId] : attendee_id_param
40
40
  end
41
41
 
42
- # List meetings by MeetingCoordinator.
43
- # @api protected
44
- # @return [Array<Hash>] Meeting list
45
- def list_meetings
46
- @meetings = ChimeSdk::MeetingCoordinator.list_meetings(prefix_filter: meeting_request_id)
47
- @meetings = @meetings.map { |meeting| merge_application_meeting_metadata(meeting) }
48
- end
49
-
50
42
  # Create meeting by MeetingCoordinator.
51
43
  # @api protected
52
44
  # @return [Hash] Created meeting
@@ -82,7 +74,7 @@ module ChimeSdk
82
74
  # @api protected
83
75
  # @return [Hash] Created attendee
84
76
  def create_attendee
85
- @attendee = ChimeSdk::MeetingCoordinator.create_attendee(meeting_id, attendee_request_id, tags: attendee_tags)
77
+ @attendee = ChimeSdk::MeetingCoordinator.create_attendee(meeting_id, attendee_request_id)
86
78
  @attendee = merge_application_attendee_metadata(@attendee)
87
79
  end
88
80
 
@@ -144,13 +136,6 @@ module ChimeSdk
144
136
  tags + optional_meeting_tags
145
137
  end
146
138
 
147
- # Return tags for attendees from defined optional_attendee_tags.
148
- # @api protected
149
- # @return [Array<Hash>] Tags for attendees
150
- def attendee_tags
151
- tags + optional_attendee_tags
152
- end
153
-
154
139
  # Merge application metadata into meeting instance and return.
155
140
  # @api protected
156
141
  # @param [Hash] meeting Meeting JSON object as hash
@@ -21,10 +21,11 @@ module ChimeSdk
21
21
  if params[:create_meeting].to_s.to_boolean(false) || ChimeSdk.config.create_meeting_by_get_request && params[:create_meeting].to_s.to_boolean(true)
22
22
  create
23
23
  else
24
- list_meetings
24
+ @meeting_request_id = ChimeSdk.config.prefix + meeting_request_id
25
+ @attendee_request_id = ChimeSdk.config.prefix + attendee_request_id
25
26
  respond_to do |format|
26
27
  format.html
27
- format.json { render json: { meetings: @meetings } }
28
+ format.json { render json: { meeting_request_id: @meeting_request_id, attendee_request_id: @attendee_request_id } }
28
29
  end
29
30
  end
30
31
  end
@@ -1,74 +1,64 @@
1
1
  module ChimeSdk
2
2
  # Meeting coordinator as a wrapper module of AWS SDK for Ruby, which simulates AWS SDK for JavaScript.
3
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html Aws::Chime::Client of AWS SDK for Ruby
4
- # @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Chime.html AWS.Chime of AWS SDK for JavaScript
3
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html Aws::ChimeSDKMeetings::Client of AWS SDK for Ruby
4
+ # @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ChimeSDKMeetings.html AWS.ChimeSDKMeetings of AWS SDK for JavaScript
5
5
  module MeetingCoordinator
6
- require 'aws-sdk-chime'
6
+ require 'aws-sdk-chimesdkmeetings'
7
7
 
8
- # Return initialized Aws::Chime::Client.
8
+ # Return initialized Aws::ChimeSDKMeetings::Client.
9
9
  # You must use "us-east-1" as the region for Chime API and set the endpoint.
10
- # @return [Aws::Chime::Client] Initialized Aws::Chime::Client instance
10
+ # @return [Aws::ChimeSDKMeetings::Client] Initialized Aws::ChimeSDKMeetings::Client instance
11
11
  # @see https://aws.github.io/amazon-chime-sdk-js/modules/gettingstarted.html
12
12
  def self.client
13
- @@client ||= Aws::Chime::Client.new(region: 'us-east-1')
13
+ @@client ||= Aws::ChimeSDKMeetings::Client.new(region: 'us-east-1')
14
14
  end
15
15
 
16
- # Reset client with initialized Aws::Chime::Client instance.
17
- # @param [Aws::Chime::Client] client Initialized Aws::Chime::Client instance
18
- # @return [Aws::Chime::Client] Initialized Aws::Chime::Client instance
16
+ # Reset client with initialized Aws::ChimeSDKMeetings::Client instance.
17
+ # @param [Aws::ChimeSDKMeetings::Client] client Initialized Aws::ChimeSDKMeetings::Client instance
18
+ # @return [Aws::ChimeSDKMeetings::Client] Initialized Aws::ChimeSDKMeetings::Client instance
19
19
  def self.reset_client(client)
20
20
  @@client = client
21
21
  end
22
22
 
23
- # Wrapper of Aws::Chime::Client#list_meetings method.
24
- # This function also provides prefix match filter of external_meeting_id.
25
- # This method filters the result with ChimeSdk.config.prefix to return only meetings in your application.
26
- # @param [Integer] max_results (ChimeSdk.config.max_meeting_results) The maximum number of results to return in a single call
27
- # @param [String] prefix_filter (nil) Additional string for prefix match filter of external_meeting_id
28
- # @return [Array<Hash>] Array of filtered meeting JSON object as hash
29
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#list_meetings-instance_method Aws::Chime::Client#list_meetings of AWS SDK for Ruby
30
- def self.list_meetings(
31
- max_results: ChimeSdk.config.max_meeting_results,
32
- prefix_filter: nil
33
- )
34
- resp = client.list_meetings({
35
- max_results: max_results
36
- })
37
- meetings = resp.meetings
38
- meetings = meetings.select { |meeting| meeting.external_meeting_id.start_with?(ChimeSdk.config.prefix + prefix_filter) } if prefix_filter
39
- meetings.map { |meeting| meeting_as_json(meeting) }
40
- end
41
-
42
- # Wrapper of Aws::Chime::Client#create_meeting method.
23
+ # Wrapper of Aws::ChimeSDKMeetings::Client#create_meeting method.
43
24
  # This method uses 'ChimeSdk.config.prefix + meeting_request_id' for client_request_token and external_meeting_id.
44
25
  # @param [required, String] meeting_request_id The unique identifier for the client request. Use a different token for different meetings.
45
- # @param [String] meeting_host_id (nil) Reserved
46
26
  # @param [String] media_region (ChimeSdk.config.media_region) The Region in which to create the meeting
47
- # @param [Array<Aws::Chime::Types::Tag>] tags (nil) The tag key-value pairs
48
- # @param [Aws::Chime::Types::MeetingNotificationConfiguration] notifications_configuration (nil) The configuration for resource targets to receive notifications when meeting and attendee events occur
27
+ # @param [String] meeting_host_id (nil) Reserved
28
+ # @param [Aws::ChimeSDKMeetings::Types::MeetingNotificationConfiguration] notifications_configuration (nil) The configuration for resource targets to receive notifications when meeting and attendee events occur
29
+ # @param [Aws::ChimeSDKMeetings::Types::MeetingFeaturesConfiguration] meeting_features (nil) Lists the audio and video features enabled for a meeting, such as echo reduction
30
+ # @param [String] primary_meeting_id (nil) When specified, replicates the media from the primary meeting to the new meeting
31
+ # @param [Array<String>] tenant_ids (nil) A consistent and opaque identifier, created and maintained by the builder to represent a segment of their users
32
+ # @param [Array<Aws::ChimeSDKMeetings::Types::Tag>] tags (nil) Applies one or more tags to an Amazon Chime SDK meeting
49
33
  # @return [Hash] Created meeting JSON object as hash
50
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#create_meeting-instance_method Aws::Chime::Client#create_meeting of AWS SDK for Ruby
34
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#create_meeting-instance_method Aws::ChimeSDKMeetings::Client#create_meeting of AWS SDK for Ruby
51
35
  def self.create_meeting(meeting_request_id,
52
- meeting_host_id: nil,
53
36
  media_region: ChimeSdk.config.media_region,
54
- tags: [],
55
- notifications_configuration: {}
37
+ meeting_host_id: nil,
38
+ notifications_configuration: {},
39
+ meeting_features: {},
40
+ primary_meeting_id: nil,
41
+ tenant_ids: nil,
42
+ tags: []
56
43
  )
57
44
  resp = client.create_meeting({
58
45
  client_request_token: ChimeSdk.config.prefix + meeting_request_id,
59
- external_meeting_id: ChimeSdk.config.prefix + meeting_request_id,
60
- meeting_host_id: meeting_host_id,
61
46
  media_region: media_region,
62
- tags: tags,
63
- notifications_configuration: notifications_configuration
47
+ meeting_host_id: meeting_host_id,
48
+ external_meeting_id: ChimeSdk.config.prefix + meeting_request_id,
49
+ notifications_configuration: notifications_configuration,
50
+ meeting_features: meeting_features,
51
+ primary_meeting_id: primary_meeting_id,
52
+ tenant_ids: tenant_ids,
53
+ tags: tags
64
54
  })
65
55
  meeting_as_json(resp.meeting)
66
56
  end
67
57
 
68
- # Wrapper of Aws::Chime::Client#get_meeting method.
58
+ # Wrapper of Aws::ChimeSDKMeetings::Client#get_meeting method.
69
59
  # @param [required, String] meeting_id The Amazon Chime SDK meeting ID
70
60
  # @return [Hash] Meeting JSON object as hash
71
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#get_meeting-instance_method Aws::Chime::Client#get_meeting of AWS SDK for Ruby
61
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#get_meeting-instance_method Aws::ChimeSDKMeetings::Client#get_meeting of AWS SDK for Ruby
72
62
  def self.get_meeting(meeting_id)
73
63
  resp = client.get_meeting({
74
64
  meeting_id: meeting_id
@@ -76,51 +66,60 @@ module ChimeSdk
76
66
  meeting_as_json(resp.meeting)
77
67
  end
78
68
 
79
- # Wrapper of Aws::Chime::Client#delete_meeting method.
69
+ # Wrapper of Aws::ChimeSDKMeetings::Client#delete_meeting method.
80
70
  # @param [required, String] meeting_id The Amazon Chime SDK meeting ID
81
71
  # @return [void]
82
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#delete_meeting-instance_method Aws::Chime::Client#delete_meeting of AWS SDK for Ruby
72
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#delete_meeting-instance_method Aws::ChimeSDKMeetings::Client#delete_meeting of AWS SDK for Ruby
83
73
  def self.delete_meeting(meeting_id)
84
74
  client.delete_meeting({
85
75
  meeting_id: meeting_id
86
76
  })
87
77
  end
88
78
 
89
- # Wrapper of Aws::Chime::Client#list_attendees method.
79
+ # Wrapper of Aws::ChimeSDKMeetings::Client#list_attendees method.
90
80
  # @param [required, String] meeting_id The Amazon Chime SDK meeting ID
91
81
  # @param [Integer] max_results (ChimeSdk.config.max_attendee_results) The maximum number of results to return in a single call
92
82
  # @return [Array<Hash>] Array of attendee JSON object as hash
93
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#list_attendees-instance_method Aws::Chime::Client#list_attendees of AWS SDK for Ruby
83
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#list_attendees-instance_method Aws::ChimeSDKMeetings::Client#list_attendees of AWS SDK for Ruby
94
84
  def self.list_attendees(meeting_id,
95
85
  max_results: ChimeSdk.config.max_attendee_results
96
86
  )
97
- resp = client.list_attendees({
98
- meeting_id: meeting_id,
99
- max_results: max_results
100
- })
87
+ # attendees = [], next_token = nil
88
+ # loop do
89
+ resp = client.list_attendees({
90
+ meeting_id: meeting_id,
91
+ # next_token: next_token,
92
+ max_results: max_results
93
+ })
94
+ # next_token = resp.next_token
95
+ # attendees += resp.attendees
96
+ # break if next_token.nil?
97
+ # end
98
+ # attendees.map { |attendee| attendee_as_json(attendee) }
101
99
  resp.attendees.map { |attendee| attendee_as_json(attendee) }
102
100
  end
103
101
 
104
- # Wrapper of Aws::Chime::Client#create_attendee method.
102
+ # Wrapper of Aws::ChimeSDKMeetings::Client#create_attendee method.
105
103
  # This method uses 'ChimeSdk.config.prefix + attendee_request_id' for external_user_id.
106
104
  # @param [required, String] meeting_id The Amazon Chime SDK meeting ID
107
105
  # @param [required, String] attendee_request_id Part of the Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application.
106
+ # @param [Aws::ChimeSDKMeetings::Types::AttendeeCapabilities] capabilities The capabilities (audio, video, or content) that you want to grant an attendee
108
107
  # @return [Hash] Created attendee JSON object as hash
109
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#create_attendee-instance_method Aws::Chime::Client#create_attendee of AWS SDK for Ruby
110
- def self.create_attendee(meeting_id, attendee_request_id, tags: [])
108
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#create_attendee-instance_method Aws::ChimeSDKMeetings::Client#create_attendee of AWS SDK for Ruby
109
+ def self.create_attendee(meeting_id, attendee_request_id, capabilities: nil)
111
110
  resp = client.create_attendee({
112
111
  meeting_id: meeting_id,
113
112
  external_user_id: ChimeSdk.config.prefix + attendee_request_id,
114
- tags: tags
113
+ capabilities: capabilities
115
114
  })
116
115
  attendee_as_json(resp.attendee)
117
116
  end
118
117
 
119
- # Wrapper of Aws::Chime::Client#get_attendee method.
118
+ # Wrapper of Aws::ChimeSDKMeetings::Client#get_attendee method.
120
119
  # @param [required, String] meeting_id The Amazon Chime SDK meeting ID
121
120
  # @param [required, String] attendee_id The Amazon Chime SDK attendee ID
122
121
  # @return [Hash] Attendee JSON object as hash
123
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#get_attendee-instance_method Aws::Chime::Client#get_attendee of AWS SDK for Ruby
122
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#get_attendee-instance_method Aws::ChimeSDKMeetings::Client#get_attendee of AWS SDK for Ruby
124
123
  def self.get_attendee(meeting_id, attendee_id)
125
124
  resp = client.get_attendee({
126
125
  meeting_id: meeting_id,
@@ -129,10 +128,11 @@ module ChimeSdk
129
128
  attendee_as_json(resp.attendee)
130
129
  end
131
130
 
132
- # Wrapper of Aws::Chime::Client#delete_attendee method.
131
+ # Wrapper of Aws::ChimeSDKMeetings::Client#delete_attendee method.
132
+ # @param [required, String] meeting_id The Amazon Chime SDK meeting ID
133
133
  # @param [required, String] attendee_id The Amazon Chime SDK attendee ID
134
134
  # @return [void]
135
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#delete_attendee-instance_method Aws::Chime::Client#delete_attendee of AWS SDK for Ruby
135
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#delete_attendee-instance_method Aws::ChimeSDKMeetings::Client#delete_attendee of AWS SDK for Ruby
136
136
  def self.delete_attendee(meeting_id, attendee_id)
137
137
  client.delete_attendee({
138
138
  meeting_id: meeting_id,
@@ -140,45 +140,79 @@ module ChimeSdk
140
140
  })
141
141
  end
142
142
 
143
- # Build meeting JSON object as hash from Aws::Chime::Types::Meeting object
144
- # @param [required, Aws::Chime::Types::Meeting] meeting Meeting response as Aws::Chime::Types::Meeting object
143
+ # Build meeting JSON object as hash from Aws::ChimeSDKMeetings::Types::Meeting object
144
+ # @param [required, Aws::ChimeSDKMeetings::Types::Meeting] meeting Meeting response as Aws::ChimeSDKMeetings::Types::Meeting object
145
145
  # @return [Hash] Meeting JSON object as hash
146
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#get_meeting-instance_method Aws::Chime::Client#get_meeting of AWS SDK for Ruby
147
- # @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Chime.html#getMeeting-property AWS.Chime#getMeeting of AWS SDK for JavaScript
146
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#get_meeting-instance_method Aws::ChimeSDKMeetings::Client#get_meeting of AWS SDK for Ruby
147
+ # @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ChimeSDKMeetings.html#getMeeting-property AWS.Chime#getMeeting of AWS SDK for JavaScript
148
148
  def self.meeting_as_json(meeting)
149
- return {} unless meeting.is_a?(Aws::Chime::Types::Meeting)
150
- {
149
+ return {} unless meeting.is_a?(Aws::ChimeSDKMeetings::Types::Meeting)
150
+ meeting_json = {
151
151
  "Meeting": {
152
152
  "MeetingId": meeting.meeting_id,
153
+ "MeetingHostId": meeting.meeting_host_id,
153
154
  "ExternalMeetingId": meeting.external_meeting_id,
155
+ "MediaRegion": meeting.media_region,
154
156
  "MediaPlacement": {
155
157
  "AudioHostUrl": meeting.media_placement.audio_host_url,
156
158
  "AudioFallbackUrl": meeting.media_placement.audio_fallback_url,
159
+ "SignalingUrl": meeting.media_placement.signaling_url,
160
+ "TurnControlUrl": meeting.media_placement.turn_control_url,
161
+ # This parameter is deprecated and no longer used by the Amazon Chime SDK
157
162
  "ScreenDataUrl": meeting.media_placement.screen_data_url,
158
- "ScreenSharingUrl": meeting.media_placement.screen_sharing_url,
163
+ # This parameter is deprecated and no longer used by the Amazon Chime SDK
159
164
  "ScreenViewingUrl": meeting.media_placement.screen_viewing_url,
160
- "SignalingUrl": meeting.media_placement.signaling_url,
161
- "TurnControlUrl": meeting.media_placement.turn_control_url
165
+ # This parameter is deprecated and no longer used by the Amazon Chime SDK
166
+ "ScreenSharingUrl": meeting.media_placement.screen_sharing_url,
167
+ # This parameter is deprecated and no longer used by the Amazon Chime SDK
168
+ "EventIngestionUrl": meeting.media_placement.event_ingestion_url
162
169
  },
163
- "MediaRegion": meeting.media_region
170
+ "PrimaryMeetingId": meeting.primary_meeting_id,
171
+ "TenantIds": meeting.tenant_ids,
172
+ "MeetingArn": meeting.meeting_arn
164
173
  }
165
174
  }
175
+ unless meeting.meeting_features.nil?
176
+ meeting_json[:Meeting]["MeetingFeatures"] = {
177
+ "Audio": {
178
+ "EchoReduction": meeting.meeting_features.audio.echo_reduction
179
+ },
180
+ "Video": {
181
+ "MaxResolution": meeting.meeting_features.video.max_resolution
182
+ },
183
+ "Content": {
184
+ "MaxResolution": meeting.meeting_features.content.max_resolution
185
+ },
186
+ "Attendee": {
187
+ "MaxCount": meeting.meeting_features.attendee.max_count
188
+ }
189
+ }
190
+ end
191
+ meeting_json
166
192
  end
167
193
 
168
- # Build attendee JSON object as hash from Aws::Chime::Types::Attendee object
169
- # @param [required, Aws::Chime::Types::Attendee] attendee Attendee response as Aws::Chime::Types::Attendee object
194
+ # Build attendee JSON object as hash from Aws::ChimeSDKMeetings::Types::Attendee object
195
+ # @param [required, Aws::ChimeSDKMeetings::Types::Attendee] attendee Attendee response as Aws::ChimeSDKMeetings::Types::Attendee object
170
196
  # @return [Hash] Attendee JSON object as hash
171
- # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Chime/Client.html#get_attendee-instance_method Aws::Chime::Client#get_attendee of AWS SDK for Ruby
172
- # @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Chime.html#getAttendee-property AWS.Chime#getAttendee of AWS SDK for JavaScript
197
+ # @see https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ChimeSDKMeetings/Client.html#get_attendee-instance_method Aws::ChimeSDKMeetings::Client#get_attendee of AWS SDK for Ruby
198
+ # @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ChimeSDKMeetings.html#getAttendee-property AWS.Chime#getAttendee of AWS SDK for JavaScript
173
199
  def self.attendee_as_json(attendee)
174
- return {} unless attendee.is_a?(Aws::Chime::Types::Attendee)
175
- {
200
+ return {} unless attendee.is_a?(Aws::ChimeSDKMeetings::Types::Attendee)
201
+ attendee_json = {
176
202
  "Attendee": {
177
203
  "ExternalUserId": attendee.external_user_id,
178
204
  "AttendeeId": attendee.attendee_id,
179
205
  "JoinToken": attendee.join_token
180
206
  }
181
207
  }
208
+ unless attendee.capabilities.nil?
209
+ attendee_json[:Attendee]["Capabilities"] = {
210
+ "Audio": attendee.capabilities.audio,
211
+ "Video": attendee.capabilities.video,
212
+ "Content": attendee.capabilities.content
213
+ }
214
+ end
215
+ attendee_json
182
216
  end
183
217
  end
184
218
  end
@@ -1,4 +1,4 @@
1
1
  module ChimeSdk
2
2
  # Gem version of amazon-chime-sdk-rails
3
- VERSION = "1.1.1"
3
+ VERSION = "2.0.0"
4
4
  end
@@ -11,9 +11,6 @@ ChimeSdk.configure do |config|
11
11
  # Default value is "#{config.application_name}-#{Rails.env}-".
12
12
  config.prefix = "#{config.application_name}-#{Rails.env}-"
13
13
 
14
- # Configure default max_results value used in list_meetings API.
15
- config.max_meeting_results = 10
16
-
17
14
  # Configure default max_results value used in list_attendees API.
18
15
  config.max_attendee_results = 10
19
16
 
@@ -2,26 +2,9 @@
2
2
 
3
3
  <h1>Meetings by Amazon Chime SDK</h1>
4
4
 
5
- <table>
6
- <thead>
7
- <tr>
8
- <th>Meeting ID</th>
9
- <th>External Meeting ID</th>
10
- <th>Media Region</th>
11
- <th colspan="1"></th>
12
- </tr>
13
- </thead>
14
-
15
- <tbody>
16
- <% @meetings.each do |meeting| %>
17
- <tr>
18
- <td><%= link_to(meeting[:Meeting][:MeetingId], meeting_resource_path(meeting[:Meeting][:MeetingId])) %></td>
19
- <td><%= meeting[:Meeting][:ExternalMeetingId] %></td>
20
- <td><%= meeting[:Meeting][:MediaRegion] %></td>
21
- <td><%= link_to 'Destroy', meeting_resource_path(meeting[:Meeting][:MeetingId]), method: :delete, data: { confirm: 'Are you sure?' } %></td>
22
- </tr>
23
- <% end %>
24
- </tbody>
25
- </table>
5
+ <p>
6
+ Meeting Request ID : <%= @meeting_request_id %><br>
7
+ Attendee Request ID : <%= @attendee_request_id %><br>
8
+ </p>
26
9
 
27
10
  <p><%= link_to 'Create Meeting', meeting_resources_path, method: :post %></p>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h1>Meeting by Amazon Chime SDK</h1>
4
4
 
5
- <p><%= link_to("Show Meetings", meeting_resources_path) %></p>
5
+ <p><%= link_to("Back to Meetings Index", meeting_resources_path) %></p>
6
6
 
7
7
  <% if @meeting %>
8
8
  <strong>Meeting</strong>
@@ -71,8 +71,8 @@
71
71
  try {
72
72
  const audioInputDevices = await meetingSession.audioVideo.listAudioInputDevices();
73
73
  const audioOutputDevices = await meetingSession.audioVideo.listAudioOutputDevices();
74
- await meetingSession.audioVideo.chooseAudioInputDevice(audioInputDevices[0].deviceId);
75
- await meetingSession.audioVideo.chooseAudioOutputDevice(audioOutputDevices[0].deviceId);
74
+ await meetingSession.audioVideo.startAudioInput(audioInputDevices[0].deviceId);
75
+ await meetingSession.audioVideo.chooseAudioOutput(audioOutputDevices[0].deviceId);
76
76
  } catch (error) {
77
77
  // handle error - unable to acquire audio device perhaps due to permissions blocking
78
78
  console.log(error);
@@ -2,27 +2,10 @@
2
2
 
3
3
  <h1>Meetings by Amazon Chime SDK</h1>
4
4
 
5
- <table>
6
- <thead>
7
- <tr>
8
- <th>Meeting ID</th>
9
- <th>External Meeting ID</th>
10
- <th>Media Region</th>
11
- <th colspan="1"></th>
12
- </tr>
13
- </thead>
14
-
15
- <tbody>
16
- <% @meetings.each do |meeting| %>
17
- <tr>
18
- <td><%= link_to(meeting[:Meeting][:MeetingId], meeting_resource_path(meeting[:Meeting][:MeetingId])) %></td>
19
- <td><%= meeting[:Meeting][:ExternalMeetingId] %></td>
20
- <td><%= meeting[:Meeting][:MediaRegion] %></td>
21
- <td><%= link_to 'Destroy', meeting_resource_path(meeting[:Meeting][:MeetingId]), method: :delete, data: { confirm: 'Are you sure?' } %></td>
22
- </tr>
23
- <% end %>
24
- </tbody>
25
- </table>
5
+ <p>
6
+ Meeting Request ID : <%= @meeting_request_id %><br>
7
+ Attendee Request ID : <%= @attendee_request_id %><br>
8
+ </p>
26
9
 
27
10
  <p><%= link_to 'Create Meeting', meeting_resources_path, method: :post %></p>
28
11
  <p><%= link_to("Back to Room", room_path(@room)) %></p>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h1>Meeting by Amazon Chime SDK</h1>
4
4
 
5
- <p><%= link_to("Show Meetings", meeting_resources_path) %></p>
5
+ <p><%= link_to("Back to Meetings Index", meeting_resources_path) %></p>
6
6
 
7
7
  <% if ENV['REACT_MEETING_DEMO_URL'] %>
8
8
  <p><input type="button" value="Open React Meeting Demo" onclick="openReactMeetingDemo()"></p>
@@ -83,21 +83,13 @@
83
83
  try {
84
84
  const audioInputDevices = await meetingSession.audioVideo.listAudioInputDevices();
85
85
  const audioOutputDevices = await meetingSession.audioVideo.listAudioOutputDevices();
86
- await meetingSession.audioVideo.chooseAudioInputDevice(audioInputDevices[0].deviceId);
87
- await meetingSession.audioVideo.chooseAudioOutputDevice(audioOutputDevices[0].deviceId);
86
+ await meetingSession.audioVideo.startAudioInput(audioInputDevices[0].deviceId);
87
+ await meetingSession.audioVideo.chooseAudioOutput(audioOutputDevices[0].deviceId);
88
88
  } catch (error) {
89
89
  // handle error - unable to acquire audio device perhaps due to permissions blocking
90
- if (error instanceof PermissionDeniedError) {
91
- console.error('Permission denied', error);
92
- } else {
93
- console.error(error);
94
- }
95
- }
96
- try {
97
- await meetingSession.audioVideo.bindAudioElement(audioOutputElement);
98
- } catch (error) {
99
- console.error('Failed to bind audio element', error);
90
+ console.log(error);
100
91
  }
92
+ meetingSession.audioVideo.bindAudioElement(audioOutputElement);
101
93
  meetingSession.audioVideo.start();
102
94
  document.getElementById("meeting-status").innerHTML = '<p>Meeting : Online <input type="button" value="Leave a meeting" onclick="leave()"></p><div id="audio-status"></div>';
103
95
  document.getElementById("audio-status").innerHTML = '<p>Audio : Active <input type="button" value="Mute" onclick="mute()"></p>';
@@ -7,7 +7,7 @@
7
7
 
8
8
  <p>
9
9
  <strong>Private Meeting:</strong>
10
- <p><%= link_to 'Show Meetings', room_meetings_path(@room) %></p>
10
+ <p><%= link_to 'Show Meetings Index', room_meetings_path(@room) %></p>
11
11
  <p>
12
12
  Create Meeting
13
13
  <%= link_to 'GET', room_meetings_path(@room, create_meeting: true) %>
@@ -11,9 +11,6 @@ ChimeSdk.configure do |config|
11
11
  # Default value is "#{config.application_name}-#{Rails.env}-".
12
12
  config.prefix = "#{config.application_name}-#{Rails.env}-"
13
13
 
14
- # Configure default max_results value used in list_meetings API.
15
- config.max_meeting_results = 10
16
-
17
14
  # Configure default max_results value used in list_attendees API.
18
15
  config.max_attendee_results = 10
19
16
 
@@ -11,16 +11,26 @@ describe ChimeSdk::Controller::Attendees, type: :request do
11
11
  test_attendee = {
12
12
  external_user_id: "ChimeSdkRailsApp-test-User-#{@attendee_user.id}",
13
13
  attendee_id: @attendee_id,
14
- join_token: "dummy"
14
+ join_token: "dummy",
15
+ capabilities: {
16
+ audio: "SendReceive",
17
+ video: "SendReceive",
18
+ content: "SendReceive"
19
+ }
15
20
  }
16
21
  dummy_attendee = {
17
22
  external_user_id: "ChimeSdkRailsApp-test-User-0",
18
23
  attendee_id: @dummy_attendee_id,
19
- join_token: "dummy"
24
+ join_token: "dummy",
25
+ capabilities: {
26
+ audio: "SendReceive",
27
+ video: "SendReceive",
28
+ content: "SendReceive"
29
+ }
20
30
  }
21
31
 
22
32
  # Use stubs for the AWS SDK for Ruby
23
- client = Aws::Chime::Client.new(stub_responses: true)
33
+ client = Aws::ChimeSDKMeetings::Client.new(stub_responses: true)
24
34
  client.stub_responses(:list_attendees, {
25
35
  attendees: [ test_attendee, dummy_attendee ]
26
36
  })
@@ -8,30 +8,51 @@ describe ChimeSdk::Controller::Meetings, type: :request do
8
8
  dummy_media_placement = {
9
9
  audio_host_url: "dummy",
10
10
  audio_fallback_url: "dummy",
11
+ signaling_url: "dummy",
12
+ turn_control_url: "dummy",
11
13
  screen_data_url: "dummy",
12
- screen_sharing_url: "dummy",
13
14
  screen_viewing_url: "dummy",
14
- signaling_url: "dummy",
15
- turn_control_url: "dummy"
15
+ screen_sharing_url: "dummy",
16
+ event_ingestion_url: "dummy"
17
+ }
18
+ meeting_features = {
19
+ audio: {
20
+ echo_reduction: "AVAILABLE"
21
+ },
22
+ video: {
23
+ max_resolution: "HD"
24
+ },
25
+ content: {
26
+ max_resolution: "FHD"
27
+ },
28
+ attendee: {
29
+ max_count: 100
30
+ }
16
31
  }
17
32
  test_meeting = {
18
33
  meeting_id: @meeting_id,
34
+ meeting_host_id: nil,
19
35
  external_meeting_id: "ChimeSdkRailsApp-test-PrivateRoom-#{@room.id}",
36
+ media_region: "us-east-1",
20
37
  media_placement: dummy_media_placement,
21
- media_region: "us-east-1"
38
+ meeting_features: meeting_features,
39
+ primary_meeting_id: nil,
40
+ tenant_ids: [],
41
+ meeting_arn: "arn:aws:chime:us-east-1:000000000000:meeting/#{@meeting_id}"
22
42
  }
23
43
  dummy_meeting = {
24
44
  meeting_id: @dummy_meeting_id,
25
45
  external_meeting_id: "ChimeSdkRailsApp-test-PrivateRoom-0",
46
+ media_region: "us-east-1",
26
47
  media_placement: dummy_media_placement,
27
- media_region: "us-east-1"
48
+ meeting_features: meeting_features,
49
+ primary_meeting_id: nil,
50
+ tenant_ids: [],
51
+ meeting_arn: "arn:aws:chime:us-east-1:000000000000:meeting/#{@meeting_id}"
28
52
  }
29
53
 
30
54
  # Use stubs for the AWS SDK for Ruby
31
- client = Aws::Chime::Client.new(stub_responses: true)
32
- client.stub_responses(:list_meetings, {
33
- meetings: [ test_meeting, dummy_meeting ]
34
- })
55
+ client = Aws::ChimeSDKMeetings::Client.new(stub_responses: true)
35
56
  client.stub_responses(:get_meeting, -> (context) {
36
57
  context.params[:meeting_id] == @meeting_id ? { meeting: test_meeting } : 'NotFoundException'
37
58
  })
@@ -101,12 +122,12 @@ describe ChimeSdk::Controller::Meetings, type: :request do
101
122
  expect(response).to have_http_status(200)
102
123
  end
103
124
 
104
- it "returns meetings list filtered by prefix" do
105
- expect(JSON.parse(response.body)["meetings"].length).to eq(1)
125
+ it "returns meeting_request_id" do
126
+ expect(JSON.parse(response.body)["meeting_request_id"]).not_to be_nil
106
127
  end
107
128
 
108
- it "returns valid meeting in the list" do
109
- expect(JSON.parse(response.body)["meetings"][0]["Meeting"]["MeetingId"]).to eq(@meeting_id)
129
+ it "returns attendee_request_id" do
130
+ expect(JSON.parse(response.body)["attendee_request_id"]).not_to be_nil
110
131
  end
111
132
  end
112
133
 
@@ -287,10 +308,6 @@ describe ChimeSdk::Controller::Meetings, type: :request do
287
308
  expect(response).to have_http_status(200)
288
309
  expect(response.body).to include("Meetings by Amazon Chime SDK")
289
310
  end
290
-
291
- it "returns valid meeting in the list" do
292
- expect(response.body).to include(@meeting_id)
293
- end
294
311
  end
295
312
 
296
313
  context "with true as create_meeting parameter" do
@@ -10,7 +10,8 @@ Parameters:
10
10
  Description: The name of the service.
11
11
 
12
12
  Resources:
13
- # https://docs.aws.amazon.com/chime-sdk/latest/dg/iam-users-roles.html
13
+ # https://docs.aws.amazon.com/chime-sdk/latest/ag/security_iam_id-based-policy-examples-chime-sdk.html
14
+ # https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Meetings.html
14
15
  AmazonChimeSdkPolicy:
15
16
  Type: AWS::IAM::ManagedPolicy
16
17
  Properties:
@@ -21,26 +22,21 @@ Resources:
21
22
  Effect: Allow
22
23
  Action:
23
24
  - chime:CreateMeeting
24
- - chime:CreateMeetingWithAttendees
25
- - chime:DeleteMeeting
25
+ # - chime:CreateMeetingWithAttendees
26
26
  - chime:GetMeeting
27
- - chime:ListMeetings
27
+ - chime:DeleteMeeting
28
28
  - chime:CreateAttendee
29
- - chime:BatchCreateAttendee
30
- - chime:DeleteAttendee
31
- - chime:GetAttendee
32
29
  - chime:ListAttendees
33
- - chime:ListAttendeeTags
34
- - chime:ListMeetingTags
30
+ - chime:GetAttendee
31
+ - chime:DeleteAttendee
32
+ # - chime:BatchCreateAttendee
33
+ # - chime:BatchUpdateAttendeeCapabilitiesExcept
34
+ # - chime:UpdateAttendeeCapabilities
35
35
  - chime:ListTagsForResource
36
- - chime:TagAttendee
37
- - chime:TagMeeting
38
36
  - chime:TagResource
39
- - chime:UntagAttendee
40
- - chime:UntagMeeting
41
37
  - chime:UntagResource
42
- - chime:StartMeetingTranscription
43
- - chime:StopMeetingTranscription
38
+ # - chime:StartMeetingTranscription
39
+ # - chime:StopMeetingTranscription
44
40
  Resource: "*"
45
41
 
46
42
  Outputs:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amazon-chime-sdk-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shota Yamazaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-17 00:00:00.000000000 Z
11
+ date: 2024-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 5.0.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: aws-sdk-chime
28
+ name: aws-sdk-chimesdkmeetings
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -137,6 +137,7 @@ files:
137
137
  - gemfiles/Gemfile.rails-6.0
138
138
  - gemfiles/Gemfile.rails-6.1
139
139
  - gemfiles/Gemfile.rails-7.0
140
+ - gemfiles/Gemfile.rails-7.1
140
141
  - lib/amazon-chime-sdk-rails.rb
141
142
  - lib/chime_sdk/config.rb
142
143
  - lib/chime_sdk/controller/attendees.rb