summaryrefslogtreecommitdiff
path: root/app/graphql/resolvers/members_resolver.rb
blob: 523642e912f5b7e34f4db40ce6c9ceb0ec5576d1 (plain)
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
# frozen_string_literal: true

module Resolvers
  class MembersResolver < BaseResolver
    include Gitlab::Graphql::Authorize::AuthorizeResource
    include LooksAhead

    type Types::MemberInterface.connection_type, null: true

    argument :search, GraphQL::STRING_TYPE,
              required: false,
              description: 'Search query'

    def resolve_with_lookahead(**args)
      authorize!(object)

      apply_lookahead(finder_class.new(object, current_user, params: args).execute)
    end

    private

    def finder_class
      # override in subclass
    end
  end
end