about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2018-12-08 13:05:37 -0600
committermultiple creatures <dev@multiple-creature.party>2019-05-21 03:16:21 -0500
commit6a0c65d4611fe15f3bc681632031ea51dc1fe740 (patch)
tree888b4751fc5d622910215d09f45b40fb93062654 /app
parent706c177c8e990570d4a18927e232d7e65161c502 (diff)
allow searching bookmarks
Diffstat (limited to 'app')
-rw-r--r--app/chewy/statuses_index.rb5
-rw-r--r--app/models/status.rb2
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