docbrown/app/models/concerns/algolia_searchable/searchable_user.rb
Mac Siri d587ba962d
Add AlgoliaSearchable for User (#20869)
* Add AlgoliaSearchable::SearchableUser

* Update spec

* Refactor

* Refactor

* Add more test

* Refactor

* Update seeder to clear Algolia index if it exist

* All Algolia directly in update_score

* Fix broken spec

* Remove new queue

* Account for more user statuses

* Remove unncessary test for now
2024-04-19 14:03:04 +00:00

24 lines
577 B
Ruby

module AlgoliaSearchable
module SearchableUser
extend ActiveSupport::Concern
included do
algoliasearch(**DEFAULT_ALGOLIA_SETTINGS, unless: :bad_actor?) do
attribute :name, :username
attribute :profile_image do
profile_image_90
end
end
end
class_methods do
def trigger_sidekiq_worker(record, delete)
AlgoliaSearch::SearchIndexWorker.perform_async(record.class.name, record.id, delete)
end
end
def bad_actor?
score.negative? || banished? || spam_or_suspended?
end
end
end