From 908a9671d0e7bcf1c6bea180e2e13be84485694d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 18 Jun 2018 22:43:01 +0200 Subject: Serialize language into ActivityPub JSON (#7840) * Serialize language into ActivityPub JSON * Only use contentMap if language is present --- app/serializers/activitypub/note_serializer.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'app/serializers/activitypub/note_serializer.rb') diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index ddafb540d..eafd409ba 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -1,12 +1,15 @@ # frozen_string_literal: true class ActivityPub::NoteSerializer < ActiveModel::Serializer - attributes :id, :type, :summary, :content, + attributes :id, :type, :summary, :in_reply_to, :published, :url, :attributed_to, :to, :cc, :sensitive, :atom_uri, :in_reply_to_atom_uri, :conversation + attribute :content, unless: :language? + attribute :content_map, if: :language? + has_many :media_attachments, key: :attachment has_many :virtual_tags, key: :tag @@ -26,6 +29,14 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer Formatter.instance.format(object) end + def content_map + { object.language => Formatter.instance.format(object) } + end + + def language? + object.language.present? + end + def in_reply_to return unless object.reply? && !object.thread.nil? -- cgit From fc09b3722a1d2489044952f2d4bddc145473f5a5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 18 Jun 2018 23:58:13 +0200 Subject: Always send content for backwards-compatibility (#7844) --- app/serializers/activitypub/note_serializer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/serializers/activitypub/note_serializer.rb') diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index eafd409ba..82b7ffe95 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -7,7 +7,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer :atom_uri, :in_reply_to_atom_uri, :conversation - attribute :content, unless: :language? + attribute :content attribute :content_map, if: :language? has_many :media_attachments, key: :attachment -- cgit