ingang/app/controllers/main_controller.rb

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