Sha256: cb3c2631cdfe5fa6def84780fd7b2090e5a59184be7143fdaa970765f1a0ec95

Contents?: true

Size: 787 Bytes

Versions: 4

Compression:

Stored size: 787 Bytes

Contents

module QuizApiClient::Services
  class QtiImportsService < BaseApiService
    def token(scope:, exp: nil, resource_id: nil)
      return unless allowed_scopes.include?(scope)
      generate_token(scope: scope, exp: exp, resource_id: resource_id)
    end

    def create(params:, default_token: nil)
      raise 'Quiz Id Required' unless params && params[:quiz_id]
      post_to_quiz_api(params: params, token: token_for_api(default_token, scope_create, params[:quiz_id]))
    end

    def scope_create
      'qti_import.create'
    end

    private

    def post_to_quiz_api(params:, token:)
      client(token: token).post(
        "/api/quizzes/#{params[:quiz_id]}/qti_imports",
        qti_import: params
      )
    end

    def allowed_scopes
      [scope_create]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
quiz_api_client-0.1.10 lib/quiz_api_client/services/qti_imports_service.rb
quiz_api_client-0.1.9 lib/quiz_api_client/services/qti_imports_service.rb
quiz_api_client-0.1.8 lib/quiz_api_client/services/qti_imports_service.rb
quiz_api_client-0.1.7 lib/quiz_api_client/services/qti_imports_service.rb