require 'quiz_api_client/services/base_api_service' module QuizApiClient::Services class ItemAnalysesService < 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 list(params:, default_token: nil) raise 'Quiz Id Required' unless params.key?(:quiz_id) client(token: token_for_api(default_token, scope_analysis, params[:quiz_id])).get( "/api/quizzes/#{params[:quiz_id]}/stats/item_analyses", {} ) end def get(params:, default_token: nil) raise 'Quiz Id and Item Id are Required' unless params.key?(:id) && params.key?(:quiz_id) client(token: token_for_api(default_token, scope_analysis, params[:quiz_id])).get( "/api/quizzes/#{params[:quiz_id]}/stats/item_analyses/#{params[:id]}", {} ) end def scope_analysis 'quiz.analysis' end private def allowed_scopes [scope_analysis] end end end