class BookmarksController < ApplicationController
  include Pundit

  before_action :authenticate_user!
  before_action :set_user
  before_action :find_object, only: [:add_object, :remove_object]


  # GET /bookmarks/1
  # GET /bookmarks/1.json
  def show
  end

  # POST /bookmarks/1/learning_object
  def add_object
    authorize @object
    Bookmark.create(user: @user, bookmarkable: @object)

    render json: { status: true } if request.xhr?
  end

  # DELETE /bookmarks/1/learning_object
  def remove_object
    authorize @object
    Bookmark.destroy(user: @user, bookmarkable: @object)

    render json: { status: true } if request.xhr?
  end

  private

  def set_user
    @user = current_user
  end

  def find_object
    klass = params[:type].constantize
    @object = klass.find params[:id]
  end

end