diff options
author | multiple creatures <dev@multiple-creature.party> | 2019-11-18 22:04:03 -0600 |
---|---|---|
committer | multiple creatures <dev@multiple-creature.party> | 2019-11-18 22:04:03 -0600 |
commit | 5c9fbacaafa0734d1c56762b671d39ba0391bc0b (patch) | |
tree | d4427fee31b360d29e702102f14a4a1cfd3a6986 /app/serializers/activitypub | |
parent | 8f4f29f7101fd599f166b54a7c06faf782894748 (diff) |
Add support for updating posts in-place to the frontend and API. This makes it possible to implement features such as *real* post editing.
Diffstat (limited to 'app/serializers/activitypub')
-rw-r--r-- | app/serializers/activitypub/activity_serializer.rb | 6 | ||||
-rw-r--r-- | app/serializers/activitypub/note_serializer.rb | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/app/serializers/activitypub/activity_serializer.rb b/app/serializers/activitypub/activity_serializer.rb index 21386ab8a..799f9329f 100644 --- 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 < ActivityPub::Serializer - attributes :id, :type, :actor, :published, :to, :cc + attributes :id, :type, :actor, :published, :updated, :to, :cc has_one :proper, key: :object, serializer: ActivityPub::NoteSerializer, if: :serialize_object? attribute :proper_uri, key: :object, unless: :serialize_object? @@ -22,6 +22,10 @@ class ActivityPub::ActivitySerializer < ActivityPub::Serializer object.created_at.iso8601 end + def updated + object.updated_at.iso8601 + end + def to ActivityPub::TagManager.instance.to(object) end diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index ff39c97c4..cbabc275c 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -6,7 +6,7 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer :reject_replies attributes :id, :type, :summary, - :in_reply_to, :published, :url, + :in_reply_to, :published, :updated, :url, :attributed_to, :to, :cc, :sensitive, :conversation, :source, :tails_never_fail, :reject_replies @@ -85,6 +85,10 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer object.created_at.iso8601 end + def updated + object.updated_at.iso8601 + end + def url ActivityPub::TagManager.instance.url_for(object) end |