Files
progress-test/app/graphql/resolvers/questions_query_resolver.rb
2022-07-21 14:26:03 -03:00

33 lines
863 B
Ruby

# frozen_string_literal: true
module Resolvers
class QuestionsQueryResolver
def initialize(initial_scope, context:, where:)
@initial_scope = initial_scope
@context = context
@where = where.to_h
end
def resolve
set_created_at_filter
unifeso_authorship = @where.delete(:unifeso_authorship)
scope = QuestionPolicy::Scope.new(@context[:current_user], @initial_scope).resolve
.where(@where)
.order(updated_at: :desc)
return scope if unifeso_authorship.nil?
unifeso_authorship ? scope.where(authorship: "UNIFESO") : scope.where.not(authorship: "UNIFESO")
end
private
def set_created_at_filter
create_date_range = @where.delete(:create_date)
@where[:created_at] = create_date_range[:start_at]..create_date_range[:end_at] if create_date_range
end
end
end