Sha256: 6c106323e2b26b1450b69923269492f9e56c765d3e6a2ca71f29935322c34545

Contents?: true

Size: 1.27 KB

Versions: 13

Compression:

Stored size: 1.27 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

    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.13.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.12.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.11.1 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.11.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.10.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.9.1 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.9.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.8.1 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.8.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.7.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.6.0 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.5.5 lib/quiz_api_client/services/courses_service.rb
quiz_api_client-4.5.4 lib/quiz_api_client/services/courses_service.rb