diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-11-28 04:08:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-28 04:08:00 +0100 |
commit | 07da35c17c4ff8e0fc7b90aba0b619dae119a633 (patch) | |
tree | 5263746a1d2a550a44f1861731cfd5547a676742 | |
parent | d9793b2367ec6171256e46dde9657f664c2b4268 (diff) |
Fix n+1 query for bookmarks on statuses (#12494)
-rw-r--r-- | app/presenters/status_relationships_presenter.rb | 3 | ||||
-rw-r--r-- | app/serializers/rest/status_serializer.rb | 4 |
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 |