diff options
Diffstat (limited to 'app/graphql/resolvers/autocomplete_users_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/autocomplete_users_resolver.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/graphql/resolvers/autocomplete_users_resolver.rb b/app/graphql/resolvers/autocomplete_users_resolver.rb new file mode 100644 index 00000000000..40c53a46311 --- /dev/null +++ b/app/graphql/resolvers/autocomplete_users_resolver.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Resolvers + class AutocompleteUsersResolver < BaseResolver + type [::Types::Users::AutocompletedUserType], null: true + + argument :search, GraphQL::Types::String, + required: false, + description: 'Query to search users by name, username, or public email.' + + def resolve(search: nil) + ::Autocomplete::UsersFinder.new( + current_user: context[:current_user], + project: project, + group: group, + params: { + search: search + } + ).execute + end + + private + + def project + object if object.is_a?(Project) + end + + def group + object if object.is_a?(Group) + end + end +end |