Class: Resolvers::MergeRequestsResolver

Inherits:
BaseResolver
  • Object
show all
Extended by:
Gitlab::Graphql::NegatableArguments
Includes:
ResolvesMergeRequests, SearchArguments
Defined in:
app/graphql/resolvers/merge_requests_resolver.rb

Constant Summary

Constants included from Gitlab::Graphql::Authorize::AuthorizeResource

Gitlab::Graphql::Authorize::AuthorizeResource::ConfigurationError, Gitlab::Graphql::Authorize::AuthorizeResource::RESOURCE_ACCESS_ERROR

Constants included from ResolvesMergeRequests

ResolvesMergeRequests::NON_STABLE_CURSOR_SORTS

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Gitlab::Graphql::NegatableArguments

negated

Methods included from SearchArguments

#ready?

Methods included from Gitlab::Graphql::Authorize::AuthorizeResource

#authorize!, #authorized_find!, #authorized_resource?, #find_object, #raise_resource_not_available_error!

Methods included from ResolvesMergeRequests

#early_return, #ready?, #resolve_with_lookahead

Methods inherited from BaseResolver

as_single, authorization, authorized?, before_connection_authorization, before_connection_authorization_block, calculate_ext_conn_complexity, calls_gitaly!, calls_gitaly?, complexity, complexity_multiplier, #current_user, last, #object, #offset_pagination, requires_argument!, requires_argument?, resolver_complexity, #select_result, #single?, single_definition_blocks, singular_type, when_single

Methods included from Gitlab::Utils::Override

#extended, extensions, #included, #method_added, #override, #prepended, #queue_verification, verify!

Class Method Details

.accept_assigneeObject



13
14
15
16
17
18
19
20
21
22
23
# File 'app/graphql/resolvers/merge_requests_resolver.rb', line 13

def self.accept_assignee
  argument :assignee_username, GraphQL::Types::String,
    required: false,
    description: 'Username of the assignee.'
  argument :assignee_usernames, [GraphQL::Types::String],
    required: false,
    description: 'Usernames of users assigned to the merge request.'
  argument :assignee_wildcard_id, ::Types::AssigneeWildcardIdEnum,
    required: false,
    description: 'Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.'
end

.accept_authorObject



25
26
27
28
29
# File 'app/graphql/resolvers/merge_requests_resolver.rb', line 25

def self.accept_author
  argument :author_username, GraphQL::Types::String,
    required: false,
    description: 'Username of the author.'
end

.accept_reviewerObject



31
32
33
34
35
36
37
38
# File 'app/graphql/resolvers/merge_requests_resolver.rb', line 31

def self.accept_reviewer
  argument :reviewer_username, GraphQL::Types::String,
    required: false,
    description: 'Username of the reviewer.'
  argument :reviewer_wildcard_id, ::Types::ReviewerWildcardIdEnum,
    required: false,
    description: 'Filter by reviewer presence. Incompatible with reviewerUsername.'
end

.singleObject



223
224
225
# File 'app/graphql/resolvers/merge_requests_resolver.rb', line 223

def self.single
  ::Resolvers::MergeRequestResolver
end

Instance Method Details

#no_results_possible?(args) ⇒ Boolean

Returns:

  • (Boolean)


227
228
229
# File 'app/graphql/resolvers/merge_requests_resolver.rb', line 227

def no_results_possible?(args)
  project.nil? || some_argument_is_empty?(args)
end

#some_argument_is_empty?(args) ⇒ Boolean

Returns:

  • (Boolean)


231
232
233
# File 'app/graphql/resolvers/merge_requests_resolver.rb', line 231

def some_argument_is_empty?(args)
  args.values.any? { |v| v.is_a?(Array) && v.empty? }
end