Browse Source

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.
pull/4/head
unarist 6 years ago
committed by Eugen Rochko
parent
commit
17bf3363ac
2 changed files with 11 additions and 2 deletions
  1. +6
    -1
      app/lib/activitypub/activity/announce.rb
  2. +5
    -1
      app/serializers/activitypub/activity_serializer.rb

+ 6
- 1
app/lib/activitypub/activity/announce.rb 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

+ 5
- 1
app/serializers/activitypub/activity_serializer.rb 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

Loading…
Cancel
Save