commit: 17bf3363ac600b72755167f82e059feb4fbffa87
parent: dcf1139ebd65375fd130d71c2e664827d00e9d4f
Author: unarist <m.unarist@gmail.com>
Date: Tue, 19 Sep 2017 03:30:11 +0900
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.
Diffstat:
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/app/lib/activitypub/activity/announce.rb b/app/lib/activitypub/activity/announce.rb
@@ -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
diff --git a/app/serializers/activitypub/activity_serializer.rb b/app/serializers/activitypub/activity_serializer.rb
@@ -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