about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-11-28 04:08:00 +0100
committerGitHub <noreply@github.com>2019-11-28 04:08:00 +0100
commit07da35c17c4ff8e0fc7b90aba0b619dae119a633 (patch)
tree5263746a1d2a550a44f1861731cfd5547a676742
parentd9793b2367ec6171256e46dde9657f664c2b4268 (diff)
Fix n+1 query for bookmarks on statuses (#12494)
-rw-r--r--app/presenters/status_relationships_presenter.rb3
-rw-r--r--app/serializers/rest/status_serializer.rb4
2 files changed, 4 insertions, 3 deletions
diff --git a/app/presenters/status_relationships_presenter.rb b/app/presenters/status_relationships_presenter.rb
index 64e688d87..3cc905a75 100644
--- a/app/presenters/status_relationships_presenter.rb
+++ b/app/presenters/status_relationships_presenter.rb
@@ -1,7 +1,8 @@
 # frozen_string_literal: true
 
 class StatusRelationshipsPresenter
-  attr_reader :reblogs_map, :favourites_map, :mutes_map, :pins_map
+  attr_reader :reblogs_map, :favourites_map, :mutes_map, :pins_map,
+              :bookmarks_map
 
   def initialize(statuses, current_account_id = nil, **options)
     if current_account_id.nil?
diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb
index 08bc4d82a..1ed8948da 100644
--- a/app/serializers/rest/status_serializer.rb
+++ b/app/serializers/rest/status_serializer.rb
@@ -95,8 +95,8 @@ class REST::StatusSerializer < ActiveModel::Serializer
   end
 
   def bookmarked
-    if instance_options && instance_options[:bookmarks]
-      instance_options[:bookmarks].bookmarks_map[object.id] || false
+    if instance_options && instance_options[:relationships]
+      instance_options[:relationships].bookmarks_map[object.id] || false
     else
       current_user.account.bookmarked?(object)
     end