* Add tsvector index on users.name * [Search 2.0] Allow mention autocomplete to search users names
28 lines
597 B
Ruby
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
|