diff options
Diffstat (limited to 'app/graphql/resolvers/issues_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/issues_resolver.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/graphql/resolvers/issues_resolver.rb b/app/graphql/resolvers/issues_resolver.rb index 3e61ba755d8..24009bf7e18 100644 --- a/app/graphql/resolvers/issues_resolver.rb +++ b/app/graphql/resolvers/issues_resolver.rb @@ -5,6 +5,8 @@ module Resolvers prepend ::Issues::LookAheadPreloads include ::Issues::SortArguments + NON_FILTER_ARGUMENTS = %i[sort lookahead].freeze + argument :state, Types::IssuableStateEnum, required: false, description: 'Current state of this issue.' @@ -17,6 +19,14 @@ module Resolvers ::Preloaders::UserMaxAccessLevelInProjectsPreloader.new(projects, current_user).execute end + def ready?(**args) + unless filter_provided?(args) + raise Gitlab::Graphql::Errors::ArgumentError, _('You must provide at least one filter argument for this query') + end + + super + end + def resolve_with_lookahead(**args) return unless Feature.enabled?(:root_level_issues_query) @@ -32,5 +42,11 @@ module Resolvers issues end end + + private + + def filter_provided?(args) + args.except(*NON_FILTER_ARGUMENTS).values.any?(&:present?) + end end end |