Fix REST API serializer for Account not including `moved` when the moved account has itself moved (#22483) (#23492)
Instead of cutting immediately, cut after one recursion.
This commit is contained in:
parent
84a40824ad
commit
be1caad933
|
@ -15,6 +15,16 @@ class REST::AccountSerializer < ActiveModel::Serializer
|
|||
attribute :suspended, if: :suspended?
|
||||
attribute :silenced, key: :limited, if: :silenced?
|
||||
|
||||
class AccountDecorator < SimpleDelegator
|
||||
def self.model_name
|
||||
Account.model_name
|
||||
end
|
||||
|
||||
def moved?
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
class FieldSerializer < ActiveModel::Serializer
|
||||
include FormattingHelper
|
||||
|
||||
|
@ -84,7 +94,7 @@ class REST::AccountSerializer < ActiveModel::Serializer
|
|||
end
|
||||
|
||||
def moved_to_account
|
||||
object.suspended? ? nil : object.moved_to_account
|
||||
object.suspended? ? nil : AccountDecorator.new(object.moved_to_account)
|
||||
end
|
||||
|
||||
def emojis
|
||||
|
@ -106,6 +116,6 @@ class REST::AccountSerializer < ActiveModel::Serializer
|
|||
delegate :suspended?, :silenced?, to: :object
|
||||
|
||||
def moved_and_not_nested?
|
||||
object.moved? && object.moved_to_account.moved_to_account_id.nil?
|
||||
object.moved?
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue