jam-cloud/web/app/controllers/api_chats_controller.rb

35 lines
927 B
Ruby

class ApiChatsController < ApiController
before_filter :api_signed_in_user, :check_session
respond_to :json
def create
@chat_msg = ChatMessage.new
@chat_msg.user_id = current_user.id
@chat_msg.session_id = params[:music_session]
@chat_msg.message = params[:msg]
if @chat_msg.save
ChatMessage.send_chat_msg @music_session, @chat_msg, current_user
end
respond_with_model(@chat_msg)
end
def index
@chat_msgs = ChatMessage.find_by_session_id(params[:music_session])
.paginate(page: params[:page], per_page: pararms[:per_page] || 20)
end
def check_session
@music_session = MusicSession.find(params[:music_session])
if @music_session.nil?
raise ArgumentError, 'specified session not found'
end
unless @music_session.access? current_user
raise PermissionError, 'not allowed to join the specified session'
end
end
end