about summary refs log tree commit diff
path: root/app/serializers/activitypub
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2019-11-18 22:04:03 -0600
committermultiple creatures <dev@multiple-creature.party>2019-11-18 22:04:03 -0600
commit5c9fbacaafa0734d1c56762b671d39ba0391bc0b (patch)
treed4427fee31b360d29e702102f14a4a1cfd3a6986 /app/serializers/activitypub
parent8f4f29f7101fd599f166b54a7c06faf782894748 (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.rb6
-rw-r--r--app/serializers/activitypub/note_serializer.rb6
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