diff --git a/.env.sample b/.env.sample index 73c6b07..6b3464d 100644 --- a/.env.sample +++ b/.env.sample @@ -34,4 +34,7 @@ MILLICAST_API_SECRET= MILLICAST_ACCOUNT_ID= # Daily.co live chat API token -DAILYCO_API_KEY= \ No newline at end of file +DAILYCO_API_KEY= + +# Feature flag to switch between Zoom and Daily.co live meeting +DAILYCO_ENABLED= 1 (on) / 0 (off); When Off, Zoom meeting will be used if no override url is present \ No newline at end of file diff --git a/app/controllers/broadcasts_controller.rb b/app/controllers/broadcasts_controller.rb index 5524d0a..3228603 100644 --- a/app/controllers/broadcasts_controller.rb +++ b/app/controllers/broadcasts_controller.rb @@ -114,7 +114,12 @@ class BroadcastsController < ApplicationController end def conference_url_for(broadcast) - broadcast.video_conference_url_override.presence || url_for([broadcast.project, broadcast, :live_meeting]) + if broadcast.video_conference_url_override.present? + broadcast.video_conference_url_override + else + conference_type = ENV['DAILYCO_ENABLED'] == '1' ? :live_meeting : :zoom_meeting + url_for([broadcast.project, broadcast, conference_type]) + end end def log_create_analytics diff --git a/config/routes.rb b/config/routes.rb index f9e4062..2d419f4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -105,6 +105,7 @@ Rails.application.routes.draw do delete :destroy_file end resource :live_meeting, only: [:show] + resource :zoom_meeting, only: [:show] resources :broadcast_recordings, only: [:destroy] end resources :directories, except: [:index] do @@ -150,6 +151,7 @@ Rails.application.routes.draw do end resources :broadcasts, param: :token, only: [:show, :update] do resource :live_meeting, only: [:show] + resource :zoom_meeting, only: [:show] resources :broadcast_recordings, only: [:edit, :update] do resources :broadcast_recording_starrings, only: :create end