Module: ResolvesGroups

Extended by:
ActiveSupport::Concern
Includes:
LooksAhead
Included in:
Resolvers::Ci::RunnerGroupsResolver, Resolvers::Namespaces::BaseGroupsResolver, Resolvers::Namespaces::SharedGroupsResolver, Resolvers::NestedGroupsResolver, Resolvers::Users::GroupsResolver
Defined in:
app/graphql/resolvers/concerns/resolves_groups.rb

Overview

Mixin for all resolver classes for type Types::GroupType.connection_type.

Constant Summary collapse

PRELOADS =
{
  archived: [:namespace_settings_with_ancestors_inherited_settings],
  container_repositories_count: [:container_repositories],
  description: [:namespace_details],
  description_html: [:namespace_details],
  custom_emoji: [:custom_emoji],
  full_path: [:route],
  path: [:route],
  web_url: [:route],
  dependency_proxy_blob_count: [:dependency_proxy_blobs],
  dependency_proxy_blobs: [:dependency_proxy_blobs],
  dependency_proxy_image_count: [:dependency_proxy_manifests],
  dependency_proxy_image_ttl_policy: [:dependency_proxy_image_ttl_policy],
  dependency_proxy_setting: [:dependency_proxy_setting],
  marked_for_deletion: [:deletion_schedule],
  marked_for_deletion_on: [:deletion_schedule],
  is_self_deletion_scheduled: [:deletion_schedule]
}.freeze

Instance Method Summary collapse

Methods included from LooksAhead

#apply_lookahead, #resolve

Instance Method Details

#resolve_with_lookahead(*args, **kwargs) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'app/graphql/resolvers/concerns/resolves_groups.rb', line 27

def resolve_with_lookahead(*args, **kwargs)
  apply_lookahead(
    resolve_groups(
      *args,
      **kwargs,
      with_statistics: lookahead.selection(:nodes).selects?(:project_statistics, selected_type: ::Types::GroupType)
    )
  )
end