docbrown/app/services/search/postgres/username.rb
rhymes 1fd38aa172
[Search 2.0] Allow mention autocomplete to search users names (#13462)
* Add tsvector index on users.name

* [Search 2.0] Allow mention autocomplete to search users names
2021-04-21 18:47:15 +02:00

28 lines
597 B
Ruby

module Search
module Postgres
class Username
MAX_RESULTS = 6
ATTRIBUTES = %i[
id
name
profile_image
username
].freeze
def self.search_documents(term)
results = ::User.search_by_name_and_username(term).limit(MAX_RESULTS).select(*ATTRIBUTES)
serialize(results)
end
def self.serialize(results)
Search::UsernameSerializer
.new(results, is_collection: true)
.serializable_hash[:data]
.pluck(:attributes)
end
private_class_method :serialize
end
end
end