diff options
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 |