diff options
author | multiple creatures <dev@multiple-creature.party> | 2018-12-08 13:05:37 -0600 |
---|---|---|
committer | multiple creatures <dev@multiple-creature.party> | 2019-05-21 03:16:21 -0500 |
commit | 6a0c65d4611fe15f3bc681632031ea51dc1fe740 (patch) | |
tree | 888b4751fc5d622910215d09f45b40fb93062654 /app | |
parent | 706c177c8e990570d4a18927e232d7e65161c502 (diff) |
allow searching bookmarks
Diffstat (limited to 'app')
-rw-r--r-- | app/chewy/statuses_index.rb | 5 | ||||
-rw-r--r-- | app/models/status.rb | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb index 8ce413f8a..971f03428 100644 --- a/app/chewy/statuses_index.rb +++ b/app/chewy/statuses_index.rb @@ -47,6 +47,11 @@ class StatusesIndex < Chewy::Index data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) } end + crutch :bookmarks do |collection| + data = ::Bookmark.where(status_id: collection.map(&:id)).pluck(:status_id, :account_id) + data.each.with_object({}) { |(id, name), result| (result[id] ||= []).push(name) } + end + root date_detection: false do field :id, type: 'long' field :account_id, type: 'long' diff --git a/app/models/status.rb b/app/models/status.rb index 6f3ba4cc3..7a3b4da36 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -141,10 +141,12 @@ class Status < ApplicationRecord if preloaded.nil? ids += mentions.pluck(:account_id) ids += favourites.pluck(:account_id) + ids += bookmarks.pluck(:account_id) ids += reblogs.pluck(:account_id) else ids += preloaded.mentions[id] || [] ids += preloaded.favourites[id] || [] + ids += preloaded.bookmarks[id] || [] ids += preloaded.reblogs[id] || [] end |