51 lines
1.4 KiB
Ruby
51 lines
1.4 KiB
Ruby
class MainController < ApplicationController
|
|
before_action :set_user_room, only: [:join, :users, :stream, :stemmen]
|
|
|
|
def index
|
|
end
|
|
|
|
def join
|
|
@running = bbb_server.is_meeting_running?(@room.meeting)
|
|
if not @running and @user.moderator
|
|
meeting = bbb_server.create_meeting(@room.name,
|
|
@room.meeting,
|
|
{ :attendeePW => @room.attendee_pw,
|
|
:moderatorPW => @room.moderator_pw })
|
|
@running = meeting[:returncode]
|
|
end
|
|
|
|
if @running
|
|
@url = bbb_server.join_meeting_url(@room.meeting,
|
|
@user.name,
|
|
@user.moderator ? @room.moderator_pw : @room.attendee_pw,
|
|
{ :userID => @user.id })
|
|
redirect_to @url
|
|
end
|
|
end
|
|
|
|
def stream
|
|
start = Time.new(2023, 01, 28, 13, 0, 0, "+01:00")
|
|
@running = false
|
|
if Time.now > start or @user.moderator
|
|
@user.update(presence: true)
|
|
@running = true
|
|
end
|
|
end
|
|
|
|
def stemmen
|
|
@votes = Vote.where(room_id: @room.id, user_id: @user.id).order(created_at: :desc)
|
|
render :votes
|
|
end
|
|
|
|
private
|
|
def set_user_room
|
|
@user = User.find_by token: params[:token]
|
|
if @user.nil?
|
|
redirect_to 'https://bij1.org/', status: :unauthorized
|
|
else
|
|
@room = Room.find(@user.room_id)
|
|
end
|
|
end
|
|
|
|
end
|