fedibird-fe/app/serializers/activitypub/undo_announce_serializer.rb

37 lines
790 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class ActivityPub::UndoAnnounceSerializer < ActivityPub::Serializer
attributes :id, :type, :actor, :to
2021-07-16 06:38:50 +00:00
attribute :expiry, if: -> { expiry? }
2020-06-02 17:24:53 +00:00
has_one :virtual_object, key: :object, serializer: ActivityPub::ActivitySerializer
def id
[ActivityPub::TagManager.instance.uri_for(object.account), '#announces/', object.id, '/undo'].join
end
def type
'Undo'
end
def actor
ActivityPub::TagManager.instance.uri_for(object.account)
end
def to
[ActivityPub::TagManager::COLLECTIONS[:public]]
end
2020-06-02 17:24:53 +00:00
def virtual_object
ActivityPub::ActivityPresenter.from_status(object)
end
2021-07-16 06:38:50 +00:00
def expiry?
instance_options && instance_options[:expiry].present?
end
def expiry
instance_options[:expiry].expiry.iso8601
end
end