Complete teams meeting creation and token refresh

This commit is contained in:
Bilal
2020-08-18 20:43:33 +03:00
parent f25a72004e
commit be5261037e
8 changed files with 80 additions and 56 deletions

View File

@@ -1,4 +1,5 @@
class BroadcastsController < ApplicationController
require 'microsoft_graph'
layout "project"
before_action :set_project
@@ -17,6 +18,25 @@ class BroadcastsController < ApplicationController
def create
@broadcast.attributes = broadcast_params
begin
graph_api = MicrosoftGraph.new(
current_user,
ENV['AZURE_CLIENT_ID'],
ENV['AZURE_CLIENT_SECRET'],
ENV['AZURE_TENANT_ID'],
ENV['AZURE_SCOPES']
)
subject = "#{@broadcast.name} Online Meeting"
teams_meeting = graph_api.create_teams_meeting(subject)
join_url = teams_meeting['joinUrl']
@broadcast.microsoft_teams_meeting_url = join_url if join_url.present?
rescue StandardError => e
@broadcast.errors[:base] << e.message
render :new
return
end
if @broadcast.save
log_create_analytics
redirect_to [@project, :broadcasts], notice: t(".notice")
@@ -27,7 +47,7 @@ class BroadcastsController < ApplicationController
def show
# @conference_url = url_for [@broadcast.project, @broadcast, :zoom_meeting]
@conference_url = url_for [@broadcast.project, @broadcast, :microsoft_teams_meeting]
@conference_url = @broadcast.microsoft_teams_meeting_url
@recordings = @broadcast.broadcast_recordings.order_by_recent.paginate(page: params[:page])
@files = @broadcast.files.order("created_at DESC").paginate(page: params[:files_page])
render layout: 'application'