Sha256: 18a24f925ed6cd5b127fa477539b55513d4a3e9f8770fcc4ccff23a2689b9582

Contents?: true

Size: 1.48 KB

Versions: 13

Compression:

Stored size: 1.48 KB

Contents

module QuizApiClient::Services
  class CoursesService < BaseApiService
    def create(params:, token: nil)
      post_to_quiz_api(params: params, token: token)
    end

    def update(params:, token: nil)
      patch_to_quiz_api(params: params, token: token)
    end

    def destroy(params:, token: nil)
      delete_from_quiz_api(params: params, token: token)
    end

    def sync_blueprint_restrictions(params:, token: nil)
      client(token: token).post(
        "/api/courses/#{params[:canvas_id]}/sync_blueprint_restrictions",
        lock_quizzes: params[:lock_quizzes]
      )
    end

    def associate_quizzes(params:, token: nil)
      client(token: token).patch(
        "/api/courses/#{params[:canvas_id]}/associate_quizzes",
        quiz_ids: params[:quiz_ids]
      )
    end

    def associate_courses(params:, token: nil)
      client(token: token).patch(
        "/api/courses/#{params[:canvas_id]}/associate_courses",
        course_canvas_ids: params[:course_canvas_ids]
      )
    end

    private

    def post_to_quiz_api(params:, token:)
      client(token: token).post(
        '/api/courses',
        course: params
      )
    end

    def patch_to_quiz_api(params:, token:)
      client(token: token).patch(
        "/api/courses/#{params[:canvas_id]}",
        course: params.dup.tap { |p| p.delete(:canvas_id) }
      )
    end

    def delete_from_quiz_api(params:, token:)
      client(token: token).delete(
        "/api/courses/#{params[:canvas_id]}"
      )
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
quiz_api_client-4.19.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.18.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.17.1 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.17.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.16.1 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.16.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.15.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.14.1 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.14.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.13.4 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.13.3 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.13.2 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.13.1 lib/quiz_api_client/services/courses_service.rb