diff --git a/app/assets/javascripts/meeting.coffee b/app/assets/javascripts/meeting.coffee index c40a4136..7adbd82b 100644 --- a/app/assets/javascripts/meeting.coffee +++ b/app/assets/javascripts/meeting.coffee @@ -47,9 +47,15 @@ class @Meeting getId: -> return @id + setId: (id) -> + @id = id + getURL: -> return @url + setURL: (url) -> + @url = url + getName: -> return @name diff --git a/app/controllers/bbb_controller.rb b/app/controllers/bbb_controller.rb index 37545d6e..0b5d682a 100644 --- a/app/controllers/bbb_controller.rb +++ b/app/controllers/bbb_controller.rb @@ -29,9 +29,7 @@ class BbbController < ApplicationController ) if bbb_res[:returncode] && current_user && current_user == user - ActionCable.server.broadcast "#{user.encrypted_id}_meeting_updates_channel", - action: 'moderator_joined', - moderator: 'joined' + JoinMeetingJob.perform_later(user.encrypted_id) end render_bbb_response bbb_res, bbb_res[:response] diff --git a/app/jobs/join_meeting_job.rb b/app/jobs/join_meeting_job.rb new file mode 100644 index 00000000..e234c9de --- /dev/null +++ b/app/jobs/join_meeting_job.rb @@ -0,0 +1,9 @@ +class JoinMeetingJob < ApplicationJob + queue_as :default + + def perform(room) + ActionCable.server.broadcast "#{room}_meeting_updates_channel", + action: 'moderator_joined', + moderator: 'joined' + end +end