diff options
author | unarist <m.unarist@gmail.com> | 2017-07-15 03:44:53 +0900 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-07-14 20:44:53 +0200 |
commit | 1896a154f5f5edd4f94c58e5c69dd70ebc728e3d (patch) | |
tree | caa95f9e75947b388bd0e3b1c0cf13e4914458c3 /app/presenters | |
parent | 1618b68bfa740ed655ac45d7d5f4f46fed6c8c62 (diff) |
Fix response of unreblog/unfavourite APIs (#4204)
Both APIs process asynchronously, so reblogged/favourited fields in the response should be set to `false` manually.
Diffstat (limited to 'app/presenters')
-rw-r--r-- | app/presenters/status_relationships_presenter.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/app/presenters/status_relationships_presenter.rb b/app/presenters/status_relationships_presenter.rb index caf00791a..03294015f 100644 --- a/app/presenters/status_relationships_presenter.rb +++ b/app/presenters/status_relationships_presenter.rb @@ -3,7 +3,7 @@ class StatusRelationshipsPresenter attr_reader :reblogs_map, :favourites_map, :mutes_map - def initialize(statuses, current_account_id = nil) + def initialize(statuses, current_account_id = nil, reblogs_map: {}, favourites_map: {}, mutes_map: {}) if current_account_id.nil? @reblogs_map = {} @favourites_map = {} @@ -11,9 +11,9 @@ class StatusRelationshipsPresenter else status_ids = statuses.compact.flat_map { |s| [s.id, s.reblog_of_id] }.uniq conversation_ids = statuses.compact.map(&:conversation_id).compact.uniq - @reblogs_map = Status.reblogs_map(status_ids, current_account_id) - @favourites_map = Status.favourites_map(status_ids, current_account_id) - @mutes_map = Status.mutes_map(conversation_ids, current_account_id) + @reblogs_map = Status.reblogs_map(status_ids, current_account_id).merge(reblogs_map) + @favourites_map = Status.favourites_map(status_ids, current_account_id).merge(favourites_map) + @mutes_map = Status.mutes_map(conversation_ids, current_account_id).merge(mutes_map) end end end |