54 lines
1.4 KiB
Ruby
54 lines
1.4 KiB
Ruby
class ApiRsvpRequestsController < ApiController
|
|
|
|
# before_filter :auth_user
|
|
|
|
respond_to :json
|
|
|
|
def index
|
|
if params[:session_id].blank?
|
|
render :json => {:message => "Session ID is required"}, :status => 400
|
|
|
|
else
|
|
music_session = MusicSession.find(params[:session_id])
|
|
|
|
# retrieve all requests for this session
|
|
if music_session.creator.id == current_user.id
|
|
@rsvp_requests = RsvpRequest.index(music_session)
|
|
|
|
# scope the response to the current user
|
|
else
|
|
@rsvp_requests = RsvpRequest.index(music_session, current_user)
|
|
end
|
|
|
|
respond_with @rsvp_requests, responder: ApiResponder, :status => 200
|
|
end
|
|
end
|
|
|
|
def create
|
|
if params[:session_id].blank?
|
|
render :json => {:message => "Session ID is required."}, :status => 400
|
|
else
|
|
@rsvp = RsvpRequest.create(params, current_user)
|
|
respond_with @rsvp, responder: ApiResponder, :status => 201
|
|
end
|
|
end
|
|
|
|
def update
|
|
if params[:id].blank?
|
|
render :json => {:message => "RSVP request ID is required."}, :status => 400
|
|
else
|
|
RsvpRequest.update(params, current_user)
|
|
render :json => {:message => "Changes saved."}, :status => 204
|
|
end
|
|
end
|
|
|
|
def show
|
|
@rsvp_request = RsvpRequest.find(params[:id])
|
|
respond_with @rsvp_request, responder: ApiResponder, :status => 200
|
|
end
|
|
|
|
def destroy
|
|
RsvpRequest.cancel(params, current_user)
|
|
respond_with responder: ApiResponder, :status => 204
|
|
end
|
|
end |