Add published property to ActivityPub activity for reblogs (#5000)

Since reblogs are serialized as Announce activity, its published property can be used for the creation time of reblog.
lolsob-rspec
unarist 2017-09-19 03:30:11 +09:00 committed by Eugen Rochko
parent a3d75ce672
commit f4b3642767
2 changed files with 11 additions and 2 deletions

View File

@ -11,7 +11,12 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
return status unless status.nil?
status = Status.create!(account: @account, reblog: original_status, uri: @json['id'])
status = Status.create!(
account: @account,
reblog: original_status,
uri: @json['id'],
created_at: @json['published'] || Time.now.utc
)
distribute(status)
status
end

View File

@ -1,7 +1,7 @@
# frozen_string_literal: true
class ActivityPub::ActivitySerializer < ActiveModel::Serializer
attributes :id, :type, :actor, :to, :cc
attributes :id, :type, :actor, :published, :to, :cc
has_one :proper, key: :object, serializer: ActivityPub::NoteSerializer
@ -17,6 +17,10 @@ class ActivityPub::ActivitySerializer < ActiveModel::Serializer
ActivityPub::TagManager.instance.uri_for(object.account)
end
def published
object.created_at.iso8601
end
def to
ActivityPub::TagManager.instance.to(object)
end