From 44e2cb70270c70e2da5c6be8421328d9bf30054c Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 30 Jun 2017 15:57:54 -0400 Subject: [PATCH] delay webhooks destroy --- app/controllers/bbb_controller.rb | 10 ++++------ app/lib/bbb_api.rb | 5 ----- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/app/controllers/bbb_controller.rb b/app/controllers/bbb_controller.rb index d4ce017d..e9fe764c 100644 --- a/app/controllers/bbb_controller.rb +++ b/app/controllers/bbb_controller.rb @@ -279,12 +279,6 @@ class BbbController < ApplicationController owner = User.find_by(encrypted_id: room_id) RecordingReadyEmailJob.perform_later(owner, parse_recording_for_view(rec_info)) if owner.present? end - - # TODO: remove the webhook now that the meeting and recording are done - # remove only if the meeting is not running, otherwise the hook is needed - # if Rails.configuration.use_webhooks - # webhook_remove("#{base_url}/callback") - # end else logger.error "Bad format for event #{event}, won't process" end @@ -293,6 +287,10 @@ class BbbController < ApplicationController actioncable_event('create', params['id'], params['room_id']) elsif eventName == "meeting_destroyed_event" actioncable_event('destroy', params['id'], params['room_id']) + record_id = event['payload']['meeting_id'].split('-')[0] + rec_info = bbb_get_recordings({recordID: record_id}) + rec_info = rec_info[:recordings].first + webhook_remove(rec_info[:metadata][:"gl-webhooks-callback-url"]) elsif eventName == "user_joined_message" actioncable_event('join', params['id'], params['room_id'], event['payload']['user']['role']) elsif eventName == "user_left_message" diff --git a/app/lib/bbb_api.rb b/app/lib/bbb_api.rb index e76c6b19..f68a7897 100644 --- a/app/lib/bbb_api.rb +++ b/app/lib/bbb_api.rb @@ -188,11 +188,6 @@ module BbbApi meeting_id = bbb_meeting_id(id) bbb_meeting_info = bbb.get_meeting_info(meeting_id, nil) - # Remove the webhook when the meeting ends. - if Rails.configuration.use_webhooks - webhook_remove(bbb_meeting_info[:metadata][:"gl-webhooks-callback-url"]) - end - response_data = if bbb_meeting_info.is_a?(Hash) && bbb_meeting_info[:moderatorPW] bbb.end_meeting(meeting_id, bbb_meeting_info[:moderatorPW]) else