module Bearcat
  class Client < Footrest::Client
    module CustomGradebookColumns

      def custom_gradebook_columns(course, params={})
        get("/api/v1/courses/#{course.to_s}/custom_gradebook_columns", params)
      end

      def create_gradebook_columns(course, params={})
        post("/api/v1/courses/#{course.to_s}/custom_gradebook_columns", params)
      end

      def update_gradebook_columns(course, gradebook_column, params={})
        put("/api/v1/courses/#{course.to_s}/custom_gradebook_columns/#{gradebook_column}", params)
      end

      def delete_gradebook_columns(course, gradebook_column, params={})
        delete("/api/v1/courses/#{course.to_s}/custom_gradebook_columns/#{gradebook_column}", params)
      end

      def gradebook_columns_data(course, gradebook_column, params={})
        get("/api/v1/courses/#{course.to_s}/custom_gradebook_columns/#{gradebook_column}/data", params)
      end

      def update_gradebook_columns_data(course, gradebook_column, student, params={})
        put("/api/v1/courses/#{course.to_s}/custom_gradebook_columns/#{gradebook_column}/data/#{student}", params)
      end

      def bulk_update_gradebook_columns_data(course, params={})
        put("/api/v1/courses/#{course.to_s}/custom_gradebook_column_data", params)
      end

    end
  end
end