Add published property to ActivityPub activity for reblogs ()

Since reblogs are serialized as Announce activity, its published property can be used for the creation time of reblog.
This commit is contained in:
unarist 2017-09-19 03:30:11 +09:00 committed by Eugen Rochko
parent dcf1139ebd
commit 17bf3363ac
2 changed files with 11 additions and 2 deletions
app
lib/activitypub/activity
serializers/activitypub

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