1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
# frozen_string_literal: true
module Resolvers
class GroupsResolver < BaseResolver
include ResolvesGroups
type Types::GroupType.connection_type, null: true
argument :ids, [GraphQL::Types::ID],
required: false,
description: 'Filter groups by IDs.',
prepare: ->(global_ids, _ctx) { GitlabSchema.parse_gids(global_ids, expected_type: ::Group).map(&:model_id) }
argument :search, GraphQL::Types::String,
required: false,
description: 'Search query for group name or group full path.'
argument :sort, GraphQL::Types::String,
required: false,
description: "Sort order of results. Format: `<field_name>_<sort_direction>`, " \
"for example: `id_desc` or `name_asc`",
default_value: 'name_asc'
private
def resolve_groups(**args)
GroupsFinder
.new(context[:current_user], args)
.execute
end
end
end
Resolvers::GroupsResolver.prepend_mod_with('Resolvers::GroupsResolver')
|