class ApiClaimedRecordingsController < ApiController

  before_filter :api_signed_in_user
  before_filter :look_up_claimed_recording, :only => [ :show, :update, :delete ]

  respond_to :json

  def index
    @claimed_recordings = ClaimedRecording.where(:user_id => current_user.id).order("created_at DESC").paginate(page: params[:page])
  end

  def show
    @claimed_recording
  end
  
  def update
    begin
      @claimed_recording.update_fields(current_user, params)
      respond_with responder: ApiResponder, :status => 204      
    rescue
      render :json => { :message => "claimed_recording could not be updated" }, :status => 403      
    end
  end
  
  def delete
    begin
      @claimed_recording.discard(current_user)
      render :json => {}, :status => 204
#      respond_with responder: ApiResponder, :status => 204
    rescue
      render :json => { :message => "claimed_recording could not be deleted" }, :status => 403            
    end
  end
  
  private

  def look_up_claimed_recording
    @claimed_recording = ClaimedRecording.find(params[:id])
    if @claimed_recording.nil? || @claimed_recording.user_id != current_user.id
      render :json => { :message => "claimed_recording not found" }, :status => 404 
    end
  end

end
