amazon-chime-sdk-rails 1.0.0 → 1.1.1
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 +4 -4
- data/.github/workflows/build.yml +57 -0
- data/.gitignore +7 -1
- data/CHANGELOG.md +31 -0
- data/Dockerfile +15 -0
- data/Gemfile +5 -3
- data/README.md +132 -1005
- data/config/spring.rb +2 -0
- data/docs/Develop_Rails_API_Application.md +569 -0
- data/docs/Develop_Rails_View_Application.md +441 -0
- data/gemfiles/Gemfile.rails-5.0 +1 -1
- data/gemfiles/Gemfile.rails-5.1 +0 -1
- data/gemfiles/Gemfile.rails-5.2 +0 -1
- data/gemfiles/Gemfile.rails-6.0 +0 -1
- data/gemfiles/Gemfile.rails-6.1 +24 -0
- data/gemfiles/Gemfile.rails-7.0 +25 -0
- data/lib/chime_sdk/controller/meetings.rb +3 -3
- data/lib/chime_sdk/version.rb +1 -1
- data/lib/generators/chime_sdk/js_generator.rb +72 -9
- data/lib/generators/templates/controllers/meetings_controller.rb +1 -1
- data/spec/generators/js_generator_spec.rb +66 -6
- data/spec/rails_app/app/assets/config/manifest.js +1 -0
- data/spec/rails_app/app/assets/javascripts/application.js +3 -0
- data/spec/rails_app/app/controllers/api/public/meeting_attendees_controller.rb +11 -0
- data/spec/rails_app/app/controllers/api/public/meetings_controller.rb +15 -0
- data/spec/rails_app/app/controllers/meetings_controller.rb +1 -1
- data/spec/rails_app/app/views/layouts/_header.html.erb +1 -5
- data/spec/rails_app/app/views/layouts/application.html.erb +1 -2
- data/spec/rails_app/app/views/meetings/show.html.erb +22 -2
- data/spec/rails_app/config/application.rb +11 -2
- data/spec/rails_app/config/initializers/devise_token_auth.rb +1 -1
- data/spec/rails_app/config/routes.rb +10 -3
- data/spec/rails_app/db/seeds.rb +1 -1
- data/spec/requests/meetings_spec.rb +1 -1
- data/templates/amazon-chime-sdk-policy.yml +49 -0
- metadata +20 -57
- data/.travis.yml +0 -47
- data/spec/rails_app/app/controllers/spa_controller.rb +0 -6
- data/spec/rails_app/app/javascript/App.vue +0 -50
- data/spec/rails_app/app/javascript/channels/consumer.js +0 -6
- data/spec/rails_app/app/javascript/channels/index.js +0 -5
- data/spec/rails_app/app/javascript/components/DeviseTokenAuth.vue +0 -84
- data/spec/rails_app/app/javascript/components/meetings/Index.vue +0 -100
- data/spec/rails_app/app/javascript/components/meetings/Meeting.vue +0 -178
- data/spec/rails_app/app/javascript/components/rooms/Index.vue +0 -53
- data/spec/rails_app/app/javascript/components/rooms/Show.vue +0 -91
- data/spec/rails_app/app/javascript/packs/application.js +0 -17
- data/spec/rails_app/app/javascript/packs/spa.js +0 -14
- data/spec/rails_app/app/javascript/router/index.js +0 -74
- data/spec/rails_app/app/javascript/store/index.js +0 -37
- data/spec/rails_app/app/views/spa/index.html.erb +0 -1
- data/spec/rails_app/babel.config.js +0 -72
- data/spec/rails_app/bin/webpack +0 -18
- data/spec/rails_app/bin/webpack-dev-server +0 -18
- data/spec/rails_app/config/webpack/development.js +0 -5
- data/spec/rails_app/config/webpack/environment.js +0 -7
- data/spec/rails_app/config/webpack/loaders/vue.js +0 -6
- data/spec/rails_app/config/webpack/production.js +0 -5
- data/spec/rails_app/config/webpack/test.js +0 -5
- data/spec/rails_app/config/webpacker.yml +0 -97
- data/spec/rails_app/package.json +0 -23
- data/spec/rails_app/postcss.config.js +0 -12
@@ -12,14 +12,74 @@ describe ChimeSdk::Generators::JsGenerator, type: :generator do
|
|
12
12
|
|
13
13
|
describe 'generating files' do
|
14
14
|
context 'when npm is installed' do
|
15
|
-
|
16
|
-
|
15
|
+
context 'without specified amazon-chime-sdk-js version' do
|
16
|
+
before do
|
17
|
+
run_generator
|
18
|
+
end
|
19
|
+
|
20
|
+
# This test takes a long time. Skip it by xdescribe if you are developing the gem.
|
21
|
+
describe 'app/assets/javascripts/amazon-chime-sdk.min.js' do
|
22
|
+
subject { file('app/assets/javascripts/amazon-chime-sdk.min.js') }
|
23
|
+
it { is_expected.to exist }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# https://www.npmjs.com/package/amazon-chime-sdk-js
|
28
|
+
context 'with 1.0.0 as specified amazon-chime-sdk-js version' do
|
29
|
+
before do
|
30
|
+
run_generator %w(1.0.0)
|
31
|
+
end
|
32
|
+
|
33
|
+
# This test takes a long time. Skip it by xdescribe if you are developing the gem.
|
34
|
+
describe 'app/assets/javascripts/amazon-chime-sdk.min.js' do
|
35
|
+
subject { file('app/assets/javascripts/amazon-chime-sdk.min.js') }
|
36
|
+
it { is_expected.to exist }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# https://www.npmjs.com/package/amazon-chime-sdk-js
|
41
|
+
context 'with 2.24.0 as specified amazon-chime-sdk-js version' do
|
42
|
+
before do
|
43
|
+
run_generator %w(2.24.0)
|
44
|
+
end
|
45
|
+
|
46
|
+
# This test takes a long time. Skip it by xdescribe if you are developing the gem.
|
47
|
+
describe 'app/assets/javascripts/amazon-chime-sdk.min.js' do
|
48
|
+
subject { file('app/assets/javascripts/amazon-chime-sdk.min.js') }
|
49
|
+
it { is_expected.to exist }
|
50
|
+
end
|
17
51
|
end
|
18
52
|
|
19
|
-
#
|
20
|
-
|
21
|
-
subject {
|
22
|
-
it { is_expected.to
|
53
|
+
# https://www.npmjs.com/package/amazon-chime-sdk-js
|
54
|
+
context 'with 0.9.0 as specified amazon-chime-sdk-js version' do
|
55
|
+
subject { -> { run_generator %w(0.9.0) } }
|
56
|
+
it { is_expected.to raise_error(SystemExit) }
|
57
|
+
|
58
|
+
describe 'app/assets/javascripts/amazon-chime-sdk.min.js' do
|
59
|
+
subject { file('app/assets/javascripts/amazon-chime-sdk.min.js') }
|
60
|
+
it { is_expected.not_to exist }
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# https://www.npmjs.com/package/amazon-chime-sdk-js
|
65
|
+
context 'with 1.2.0 as specified amazon-chime-sdk-js version' do
|
66
|
+
subject { -> { run_generator %w(1.2.0) } }
|
67
|
+
it { is_expected.to raise_error(SystemExit) }
|
68
|
+
|
69
|
+
describe 'app/assets/javascripts/amazon-chime-sdk.min.js' do
|
70
|
+
subject { file('app/assets/javascripts/amazon-chime-sdk.min.js') }
|
71
|
+
it { is_expected.not_to exist }
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context 'with hoge as specified amazon-chime-sdk-js version' do
|
76
|
+
subject { -> { run_generator %w(hoge) } }
|
77
|
+
it { is_expected.to raise_error(SystemExit) }
|
78
|
+
|
79
|
+
describe 'app/assets/javascripts/amazon-chime-sdk.min.js' do
|
80
|
+
subject { file('app/assets/javascripts/amazon-chime-sdk.min.js') }
|
81
|
+
it { is_expected.not_to exist }
|
82
|
+
end
|
23
83
|
end
|
24
84
|
end
|
25
85
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class Api::Public::MeetingAttendeesController < ApplicationController
|
2
|
+
include ChimeSdk::Controller::Attendees::Mixin
|
3
|
+
|
4
|
+
def application_attendee_metadata(attendee)
|
5
|
+
user_id = attendee[:Attendee][:ExternalUserId].split('-')[3]
|
6
|
+
{
|
7
|
+
"AttendeeType": "User",
|
8
|
+
"User": User.find_by_id(user_id)
|
9
|
+
}
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Api::Public::MeetingsController < ApplicationController
|
2
|
+
include ChimeSdk::Controller::Meetings::Mixin
|
3
|
+
|
4
|
+
def index
|
5
|
+
render json: { api: 'meetings', status: 'healthy' }
|
6
|
+
end
|
7
|
+
|
8
|
+
def application_meeting_metadata(meeting)
|
9
|
+
room_id = meeting[:Meeting][:ExternalMeetingId].split('-')[3]
|
10
|
+
{
|
11
|
+
"MeetingType": "PrivateRoom",
|
12
|
+
"PrivateRoom": Room.find_by_id(room_id)
|
13
|
+
}
|
14
|
+
end
|
15
|
+
end
|
@@ -1,11 +1,7 @@
|
|
1
1
|
<header>
|
2
2
|
<div>
|
3
3
|
<div>
|
4
|
-
|
5
|
-
<strong><%= link_to 'Rails App with Action View', root_path %></strong>
|
6
|
-
</div>
|
7
|
-
<div>
|
8
|
-
<strong>Rails Application for Amazon Chime SDK Meeting (Rails App with Action View)</strong>
|
4
|
+
<strong>Rails Application for Amazon Chime SDK Meeting</strong>
|
9
5
|
</div>
|
10
6
|
<div>
|
11
7
|
<% if user_signed_in? %>
|
@@ -5,8 +5,7 @@
|
|
5
5
|
<%= csrf_meta_tags %>
|
6
6
|
|
7
7
|
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
8
|
-
<%=
|
9
|
-
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
|
8
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
|
10
9
|
</head>
|
11
10
|
|
12
11
|
<body>
|
@@ -4,6 +4,11 @@
|
|
4
4
|
|
5
5
|
<p><%= link_to("Show Meetings", meeting_resources_path) %></p>
|
6
6
|
|
7
|
+
<% if ENV['REACT_MEETING_DEMO_URL'] %>
|
8
|
+
<p><input type="button" value="Open React Meeting Demo" onclick="openReactMeetingDemo()"></p>
|
9
|
+
<% end %>
|
10
|
+
<div id="react_meeting_demo_url" url="<%= ENV['REACT_MEETING_DEMO_URL'] %>"></div>
|
11
|
+
|
7
12
|
<% if @meeting %>
|
8
13
|
<strong>Meeting</strong>
|
9
14
|
<p>
|
@@ -53,6 +58,13 @@
|
|
53
58
|
return `${attendee.Attendee.ApplicationMetadata.User.name} (${attendee.Attendee.AttendeeId})`;
|
54
59
|
}
|
55
60
|
|
61
|
+
// Open customized React Meeting Demo
|
62
|
+
// https://github.com/simukappu/amazon-chime-sdk/tree/main/apps/meeting
|
63
|
+
function openReactMeetingDemo() {
|
64
|
+
window.open(`${reactMeetingDemoUrl}?preparedApiEndpoint=${window.location.origin}/api/v1/public/meetings&preparedMeetingId=${meeting.Meeting.MeetingId}&preparedAttendeeId=${attendee.Attendee.AttendeeId}`, '_blank').focus();
|
65
|
+
}
|
66
|
+
|
67
|
+
const reactMeetingDemoUrl = document.getElementById('react_meeting_demo_url').getAttribute('url');
|
56
68
|
const meeting = JSON.parse(document.getElementById('meeting').getAttribute('meeting-data'));
|
57
69
|
const attendee = JSON.parse(document.getElementById('attendee').getAttribute('attendee-data'));
|
58
70
|
const attendeeResourcesPath = document.getElementById('attendee-resources-path').getAttribute('attendee-resources-path-data');
|
@@ -75,9 +87,17 @@
|
|
75
87
|
await meetingSession.audioVideo.chooseAudioOutputDevice(audioOutputDevices[0].deviceId);
|
76
88
|
} catch (error) {
|
77
89
|
// handle error - unable to acquire audio device perhaps due to permissions blocking
|
78
|
-
|
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);
|
79
100
|
}
|
80
|
-
meetingSession.audioVideo.bindAudioElement(audioOutputElement);
|
81
101
|
meetingSession.audioVideo.start();
|
82
102
|
document.getElementById("meeting-status").innerHTML = '<p>Meeting : Online <input type="button" value="Leave a meeting" onclick="leave()"></p><div id="audio-status"></div>';
|
83
103
|
document.getElementById("audio-status").innerHTML = '<p>Audio : Active <input type="button" value="Mute" onclick="mute()"></p>';
|
@@ -14,8 +14,17 @@ module RailsApp
|
|
14
14
|
end
|
15
15
|
|
16
16
|
if Rails::VERSION::MAJOR >= 6
|
17
|
-
|
18
|
-
|
17
|
+
config.hosts.clear
|
18
|
+
end
|
19
|
+
|
20
|
+
# Configure CORS for public API
|
21
|
+
if defined?(Rack::Cors)
|
22
|
+
config.middleware.insert_before 0, Rack::Cors do
|
23
|
+
allow do
|
24
|
+
origins '*'
|
25
|
+
resource '/api/v1/public/*', methods: [:get, :delete], headers: :any
|
26
|
+
end
|
27
|
+
end
|
19
28
|
end
|
20
29
|
end
|
21
30
|
end
|
@@ -5,7 +5,7 @@ DeviseTokenAuth.setup do |config|
|
|
5
5
|
# client is responsible for keeping track of the changing tokens. Change
|
6
6
|
# this to false to prevent the Authorization header from changing after
|
7
7
|
# each request.
|
8
|
-
|
8
|
+
config.change_headers_on_each_request = false
|
9
9
|
|
10
10
|
# By default, users will need to re-authenticate after 2 weeks. This setting
|
11
11
|
# determines how long tokens will remain valid after they are issued.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
-
# Routes for
|
2
|
+
# Routes for Rails application with Action View
|
3
3
|
root "rooms#index"
|
4
4
|
devise_for :users
|
5
5
|
resources :rooms do
|
@@ -9,16 +9,23 @@ Rails.application.routes.draw do
|
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
# Routes for
|
13
|
-
resources :spa, only: [:index]
|
12
|
+
# Routes for REST API with Rails API application
|
14
13
|
namespace :api do
|
15
14
|
scope :"v1" do
|
15
|
+
# Private API with authentication
|
16
16
|
mount_devise_token_auth_for 'User', at: 'auth'
|
17
17
|
resources :rooms, defaults: { format: :json }, only: [:index, :show] do
|
18
18
|
resources :meetings, defaults: { format: :json }, only: [:index, :show, :create, :destroy] do
|
19
19
|
resources :meeting_attendees, as: :attendees, path: :attendees, only: [:index, :show, :create, :destroy]
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
# Public API called from Amazon Chime SDK React Meeting Demo application
|
24
|
+
namespace :public do
|
25
|
+
resources :meetings, defaults: { format: :json, create_attendee_from_meeting: false }, only: [:index, :show, :destroy] do
|
26
|
+
resources :meeting_attendees, as: :attendees, path: :attendees, only: [:index, :show, :destroy]
|
27
|
+
end
|
28
|
+
end
|
22
29
|
end
|
23
30
|
end
|
24
31
|
end
|
data/spec/rails_app/db/seeds.rb
CHANGED
@@ -140,7 +140,7 @@ describe ChimeSdk::Controller::Meetings, type: :request do
|
|
140
140
|
end
|
141
141
|
|
142
142
|
it "returns application metadata in the meeting" do
|
143
|
-
expect(JSON.parse(response.body)["Meeting"]["ApplicationMetadata"]["
|
143
|
+
expect(JSON.parse(response.body)["Meeting"]["ApplicationMetadata"]["PrivateRoom"]["id"]).to eq(@room.id)
|
144
144
|
end
|
145
145
|
|
146
146
|
it "returns created attendee since ChimeSdk.config.create_attendee_from_meeting is enabled" do
|
@@ -0,0 +1,49 @@
|
|
1
|
+
Parameters:
|
2
|
+
App:
|
3
|
+
Type: String
|
4
|
+
Description: Your application's name.
|
5
|
+
Env:
|
6
|
+
Type: String
|
7
|
+
Description: The environment name for the service.
|
8
|
+
Name:
|
9
|
+
Type: String
|
10
|
+
Description: The name of the service.
|
11
|
+
|
12
|
+
Resources:
|
13
|
+
# https://docs.aws.amazon.com/chime-sdk/latest/dg/iam-users-roles.html
|
14
|
+
AmazonChimeSdkPolicy:
|
15
|
+
Type: AWS::IAM::ManagedPolicy
|
16
|
+
Properties:
|
17
|
+
PolicyDocument:
|
18
|
+
Version: 2012-10-17
|
19
|
+
Statement:
|
20
|
+
- Sid: AmazonChimeSdkActions
|
21
|
+
Effect: Allow
|
22
|
+
Action:
|
23
|
+
- chime:CreateMeeting
|
24
|
+
- chime:CreateMeetingWithAttendees
|
25
|
+
- chime:DeleteMeeting
|
26
|
+
- chime:GetMeeting
|
27
|
+
- chime:ListMeetings
|
28
|
+
- chime:CreateAttendee
|
29
|
+
- chime:BatchCreateAttendee
|
30
|
+
- chime:DeleteAttendee
|
31
|
+
- chime:GetAttendee
|
32
|
+
- chime:ListAttendees
|
33
|
+
- chime:ListAttendeeTags
|
34
|
+
- chime:ListMeetingTags
|
35
|
+
- chime:ListTagsForResource
|
36
|
+
- chime:TagAttendee
|
37
|
+
- chime:TagMeeting
|
38
|
+
- chime:TagResource
|
39
|
+
- chime:UntagAttendee
|
40
|
+
- chime:UntagMeeting
|
41
|
+
- chime:UntagResource
|
42
|
+
- chime:StartMeetingTranscription
|
43
|
+
- chime:StopMeetingTranscription
|
44
|
+
Resource: "*"
|
45
|
+
|
46
|
+
Outputs:
|
47
|
+
AmazonChimeSdkPolicyArn:
|
48
|
+
Description: "The ARN of the ManagedPolicy to attatch to the task role."
|
49
|
+
Value: !Ref AmazonChimeSdkPolicy
|
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.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shota Yamazaki
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -117,20 +117,26 @@ executables: []
|
|
117
117
|
extensions: []
|
118
118
|
extra_rdoc_files: []
|
119
119
|
files:
|
120
|
+
- ".github/workflows/build.yml"
|
120
121
|
- ".gitignore"
|
121
122
|
- ".rspec"
|
122
|
-
- ".travis.yml"
|
123
123
|
- ".yardopts"
|
124
124
|
- CHANGELOG.md
|
125
|
+
- Dockerfile
|
125
126
|
- Gemfile
|
126
127
|
- LICENSE
|
127
128
|
- README.md
|
128
129
|
- Rakefile
|
129
130
|
- amazon-chime-sdk-rails.gemspec
|
131
|
+
- config/spring.rb
|
132
|
+
- docs/Develop_Rails_API_Application.md
|
133
|
+
- docs/Develop_Rails_View_Application.md
|
130
134
|
- gemfiles/Gemfile.rails-5.0
|
131
135
|
- gemfiles/Gemfile.rails-5.1
|
132
136
|
- gemfiles/Gemfile.rails-5.2
|
133
137
|
- gemfiles/Gemfile.rails-6.0
|
138
|
+
- gemfiles/Gemfile.rails-6.1
|
139
|
+
- gemfiles/Gemfile.rails-7.0
|
134
140
|
- lib/amazon-chime-sdk-rails.rb
|
135
141
|
- lib/chime_sdk/config.rb
|
136
142
|
- lib/chime_sdk/controller/attendees.rb
|
@@ -158,29 +164,19 @@ files:
|
|
158
164
|
- spec/rails_app/app/assets/config/manifest.js
|
159
165
|
- spec/rails_app/app/assets/images/.keep
|
160
166
|
- spec/rails_app/app/assets/javascripts/.keep
|
167
|
+
- spec/rails_app/app/assets/javascripts/application.js
|
161
168
|
- spec/rails_app/app/assets/stylesheets/application.css
|
162
169
|
- spec/rails_app/app/assets/stylesheets/scaffolds.scss
|
163
170
|
- spec/rails_app/app/controllers/api/meeting_attendees_controller.rb
|
164
171
|
- spec/rails_app/app/controllers/api/meetings_controller.rb
|
172
|
+
- spec/rails_app/app/controllers/api/public/meeting_attendees_controller.rb
|
173
|
+
- spec/rails_app/app/controllers/api/public/meetings_controller.rb
|
165
174
|
- spec/rails_app/app/controllers/api/rooms_controller.rb
|
166
175
|
- spec/rails_app/app/controllers/application_controller.rb
|
167
176
|
- spec/rails_app/app/controllers/entries_controller.rb
|
168
177
|
- spec/rails_app/app/controllers/meeting_attendees_controller.rb
|
169
178
|
- spec/rails_app/app/controllers/meetings_controller.rb
|
170
179
|
- spec/rails_app/app/controllers/rooms_controller.rb
|
171
|
-
- spec/rails_app/app/controllers/spa_controller.rb
|
172
|
-
- spec/rails_app/app/javascript/App.vue
|
173
|
-
- spec/rails_app/app/javascript/channels/consumer.js
|
174
|
-
- spec/rails_app/app/javascript/channels/index.js
|
175
|
-
- spec/rails_app/app/javascript/components/DeviseTokenAuth.vue
|
176
|
-
- spec/rails_app/app/javascript/components/meetings/Index.vue
|
177
|
-
- spec/rails_app/app/javascript/components/meetings/Meeting.vue
|
178
|
-
- spec/rails_app/app/javascript/components/rooms/Index.vue
|
179
|
-
- spec/rails_app/app/javascript/components/rooms/Show.vue
|
180
|
-
- spec/rails_app/app/javascript/packs/application.js
|
181
|
-
- spec/rails_app/app/javascript/packs/spa.js
|
182
|
-
- spec/rails_app/app/javascript/router/index.js
|
183
|
-
- spec/rails_app/app/javascript/store/index.js
|
184
180
|
- spec/rails_app/app/models/application_record.rb
|
185
181
|
- spec/rails_app/app/models/entry.rb
|
186
182
|
- spec/rails_app/app/models/room.rb
|
@@ -198,15 +194,11 @@ files:
|
|
198
194
|
- spec/rails_app/app/views/rooms/new.html.erb
|
199
195
|
- spec/rails_app/app/views/rooms/show.html.erb
|
200
196
|
- spec/rails_app/app/views/rooms/show.json.jbuilder
|
201
|
-
- spec/rails_app/app/views/spa/index.html.erb
|
202
|
-
- spec/rails_app/babel.config.js
|
203
197
|
- spec/rails_app/bin/bundle
|
204
198
|
- spec/rails_app/bin/rails
|
205
199
|
- spec/rails_app/bin/rake
|
206
200
|
- spec/rails_app/bin/setup
|
207
201
|
- spec/rails_app/bin/spring
|
208
|
-
- spec/rails_app/bin/webpack
|
209
|
-
- spec/rails_app/bin/webpack-dev-server
|
210
202
|
- spec/rails_app/bin/yarn
|
211
203
|
- spec/rails_app/config.ru
|
212
204
|
- spec/rails_app/config/application.rb
|
@@ -237,12 +229,6 @@ files:
|
|
237
229
|
- spec/rails_app/config/secrets.yml
|
238
230
|
- spec/rails_app/config/spring.rb
|
239
231
|
- spec/rails_app/config/storage.yml
|
240
|
-
- spec/rails_app/config/webpack/development.js
|
241
|
-
- spec/rails_app/config/webpack/environment.js
|
242
|
-
- spec/rails_app/config/webpack/loaders/vue.js
|
243
|
-
- spec/rails_app/config/webpack/production.js
|
244
|
-
- spec/rails_app/config/webpack/test.js
|
245
|
-
- spec/rails_app/config/webpacker.yml
|
246
232
|
- spec/rails_app/db/migrate/20200912140231_devise_create_users.rb
|
247
233
|
- spec/rails_app/db/migrate/20200912140352_add_tokens_to_users.rb
|
248
234
|
- spec/rails_app/db/migrate/20200912140657_create_rooms.rb
|
@@ -250,8 +236,6 @@ files:
|
|
250
236
|
- spec/rails_app/db/schema.rb
|
251
237
|
- spec/rails_app/db/seeds.rb
|
252
238
|
- spec/rails_app/log/.keep
|
253
|
-
- spec/rails_app/package.json
|
254
|
-
- spec/rails_app/postcss.config.js
|
255
239
|
- spec/rails_app/public/404.html
|
256
240
|
- spec/rails_app/public/422.html
|
257
241
|
- spec/rails_app/public/500.html
|
@@ -261,11 +245,12 @@ files:
|
|
261
245
|
- spec/requests/atendees_spec.rb
|
262
246
|
- spec/requests/meetings_spec.rb
|
263
247
|
- spec/spec_helper.rb
|
248
|
+
- templates/amazon-chime-sdk-policy.yml
|
264
249
|
homepage: https://github.com/simukappu/amazon-chime-sdk-rails
|
265
250
|
licenses:
|
266
251
|
- MIT
|
267
252
|
metadata: {}
|
268
|
-
post_install_message:
|
253
|
+
post_install_message:
|
269
254
|
rdoc_options: []
|
270
255
|
require_paths:
|
271
256
|
- lib
|
@@ -280,8 +265,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
280
265
|
- !ruby/object:Gem::Version
|
281
266
|
version: '0'
|
282
267
|
requirements: []
|
283
|
-
rubygems_version: 3.
|
284
|
-
signing_key:
|
268
|
+
rubygems_version: 3.4.6
|
269
|
+
signing_key:
|
285
270
|
specification_version: 4
|
286
271
|
summary: Server-side implementation of Amazon Chime SDK for Ruby on Rails application
|
287
272
|
test_files:
|
@@ -295,29 +280,19 @@ test_files:
|
|
295
280
|
- spec/rails_app/app/assets/config/manifest.js
|
296
281
|
- spec/rails_app/app/assets/images/.keep
|
297
282
|
- spec/rails_app/app/assets/javascripts/.keep
|
283
|
+
- spec/rails_app/app/assets/javascripts/application.js
|
298
284
|
- spec/rails_app/app/assets/stylesheets/application.css
|
299
285
|
- spec/rails_app/app/assets/stylesheets/scaffolds.scss
|
300
286
|
- spec/rails_app/app/controllers/api/meeting_attendees_controller.rb
|
301
287
|
- spec/rails_app/app/controllers/api/meetings_controller.rb
|
288
|
+
- spec/rails_app/app/controllers/api/public/meeting_attendees_controller.rb
|
289
|
+
- spec/rails_app/app/controllers/api/public/meetings_controller.rb
|
302
290
|
- spec/rails_app/app/controllers/api/rooms_controller.rb
|
303
291
|
- spec/rails_app/app/controllers/application_controller.rb
|
304
292
|
- spec/rails_app/app/controllers/entries_controller.rb
|
305
293
|
- spec/rails_app/app/controllers/meeting_attendees_controller.rb
|
306
294
|
- spec/rails_app/app/controllers/meetings_controller.rb
|
307
295
|
- spec/rails_app/app/controllers/rooms_controller.rb
|
308
|
-
- spec/rails_app/app/controllers/spa_controller.rb
|
309
|
-
- spec/rails_app/app/javascript/App.vue
|
310
|
-
- spec/rails_app/app/javascript/channels/consumer.js
|
311
|
-
- spec/rails_app/app/javascript/channels/index.js
|
312
|
-
- spec/rails_app/app/javascript/components/DeviseTokenAuth.vue
|
313
|
-
- spec/rails_app/app/javascript/components/meetings/Index.vue
|
314
|
-
- spec/rails_app/app/javascript/components/meetings/Meeting.vue
|
315
|
-
- spec/rails_app/app/javascript/components/rooms/Index.vue
|
316
|
-
- spec/rails_app/app/javascript/components/rooms/Show.vue
|
317
|
-
- spec/rails_app/app/javascript/packs/application.js
|
318
|
-
- spec/rails_app/app/javascript/packs/spa.js
|
319
|
-
- spec/rails_app/app/javascript/router/index.js
|
320
|
-
- spec/rails_app/app/javascript/store/index.js
|
321
296
|
- spec/rails_app/app/models/application_record.rb
|
322
297
|
- spec/rails_app/app/models/entry.rb
|
323
298
|
- spec/rails_app/app/models/room.rb
|
@@ -335,15 +310,11 @@ test_files:
|
|
335
310
|
- spec/rails_app/app/views/rooms/new.html.erb
|
336
311
|
- spec/rails_app/app/views/rooms/show.html.erb
|
337
312
|
- spec/rails_app/app/views/rooms/show.json.jbuilder
|
338
|
-
- spec/rails_app/app/views/spa/index.html.erb
|
339
|
-
- spec/rails_app/babel.config.js
|
340
313
|
- spec/rails_app/bin/bundle
|
341
314
|
- spec/rails_app/bin/rails
|
342
315
|
- spec/rails_app/bin/rake
|
343
316
|
- spec/rails_app/bin/setup
|
344
317
|
- spec/rails_app/bin/spring
|
345
|
-
- spec/rails_app/bin/webpack
|
346
|
-
- spec/rails_app/bin/webpack-dev-server
|
347
318
|
- spec/rails_app/bin/yarn
|
348
319
|
- spec/rails_app/config.ru
|
349
320
|
- spec/rails_app/config/application.rb
|
@@ -374,12 +345,6 @@ test_files:
|
|
374
345
|
- spec/rails_app/config/secrets.yml
|
375
346
|
- spec/rails_app/config/spring.rb
|
376
347
|
- spec/rails_app/config/storage.yml
|
377
|
-
- spec/rails_app/config/webpack/development.js
|
378
|
-
- spec/rails_app/config/webpack/environment.js
|
379
|
-
- spec/rails_app/config/webpack/loaders/vue.js
|
380
|
-
- spec/rails_app/config/webpack/production.js
|
381
|
-
- spec/rails_app/config/webpack/test.js
|
382
|
-
- spec/rails_app/config/webpacker.yml
|
383
348
|
- spec/rails_app/db/migrate/20200912140231_devise_create_users.rb
|
384
349
|
- spec/rails_app/db/migrate/20200912140352_add_tokens_to_users.rb
|
385
350
|
- spec/rails_app/db/migrate/20200912140657_create_rooms.rb
|
@@ -387,8 +352,6 @@ test_files:
|
|
387
352
|
- spec/rails_app/db/schema.rb
|
388
353
|
- spec/rails_app/db/seeds.rb
|
389
354
|
- spec/rails_app/log/.keep
|
390
|
-
- spec/rails_app/package.json
|
391
|
-
- spec/rails_app/postcss.config.js
|
392
355
|
- spec/rails_app/public/404.html
|
393
356
|
- spec/rails_app/public/422.html
|
394
357
|
- spec/rails_app/public/500.html
|
data/.travis.yml
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
|
3
|
-
branches:
|
4
|
-
except:
|
5
|
-
- images
|
6
|
-
|
7
|
-
rvm:
|
8
|
-
# - 2.7.2
|
9
|
-
- 2.6.6
|
10
|
-
|
11
|
-
gemfile:
|
12
|
-
- gemfiles/Gemfile.rails-5.0
|
13
|
-
- gemfiles/Gemfile.rails-5.1
|
14
|
-
- gemfiles/Gemfile.rails-5.2
|
15
|
-
- gemfiles/Gemfile.rails-6.0
|
16
|
-
|
17
|
-
matrix:
|
18
|
-
include:
|
19
|
-
- rvm: ruby-head
|
20
|
-
gemfile: Gemfile
|
21
|
-
allow_failures:
|
22
|
-
- rvm: ruby-head
|
23
|
-
fast_finish: true
|
24
|
-
|
25
|
-
sudo: false
|
26
|
-
|
27
|
-
cache: bundler
|
28
|
-
|
29
|
-
before_install:
|
30
|
-
- gem install bundler
|
31
|
-
- nvm install node
|
32
|
-
|
33
|
-
install:
|
34
|
-
- bundle install
|
35
|
-
|
36
|
-
before_script:
|
37
|
-
- cd spec/rails_app
|
38
|
-
- yarn --check-files
|
39
|
-
- bundle exec rails webpacker:compile
|
40
|
-
- bundle exec rails g chime_sdk:js
|
41
|
-
- cd -
|
42
|
-
|
43
|
-
script:
|
44
|
-
- bundle exec rspec
|
45
|
-
|
46
|
-
notifications:
|
47
|
-
email: true
|
@@ -1,50 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<div>
|
3
|
-
<div>
|
4
|
-
<strong><router-link v-bind:to="{ name: 'Root' }">SPA with Rails API</router-link></strong>
|
5
|
-
<a href="/">Rails App with Action View</a>
|
6
|
-
</div>
|
7
|
-
<div>
|
8
|
-
<strong>Rails Application for Amazon Chime SDK Meeting (SPA with Rails API)</strong>
|
9
|
-
</div>
|
10
|
-
<div>
|
11
|
-
<div v-if="userSignedIn">
|
12
|
-
{{ currentUser.name }}
|
13
|
-
<router-link v-bind:to="{ name: 'SignOut' }">Logout</router-link>
|
14
|
-
</div>
|
15
|
-
<div v-else>
|
16
|
-
<router-link v-bind:to="{ name: 'SignIn' }">Login</router-link>
|
17
|
-
</div>
|
18
|
-
</div>
|
19
|
-
<router-view />
|
20
|
-
</div>
|
21
|
-
</template>
|
22
|
-
|
23
|
-
<script>
|
24
|
-
import Vue from 'vue'
|
25
|
-
import axios from 'axios'
|
26
|
-
|
27
|
-
axios.defaults.baseURL = "/api/v1"
|
28
|
-
|
29
|
-
export default {
|
30
|
-
name: 'App',
|
31
|
-
computed: {
|
32
|
-
userSignedIn: function () {
|
33
|
-
return this.$store.getters.userSignedIn;
|
34
|
-
},
|
35
|
-
currentUser: function () {
|
36
|
-
return this.$store.getters.currentUser;
|
37
|
-
}
|
38
|
-
},
|
39
|
-
created () {
|
40
|
-
if (this.$store.getters.userSignedIn) {
|
41
|
-
for (var authHeader of Object.keys(this.$store.getters.authHeaders)) {
|
42
|
-
axios.defaults.headers.common[authHeader] = this.$store.getters.authHeaders[authHeader];
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
</script>
|
48
|
-
|
49
|
-
<style scoped>
|
50
|
-
</style>
|
@@ -1,6 +0,0 @@
|
|
1
|
-
// Action Cable provides the framework to deal with WebSockets in Rails.
|
2
|
-
// You can generate new channels where WebSocket features live using the `rails generate channel` command.
|
3
|
-
|
4
|
-
import { createConsumer } from "@rails/actioncable"
|
5
|
-
|
6
|
-
export default createConsumer()
|