diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 300e0fcdd..30cd70fb6 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -24,6 +24,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do      |> fix_in_reply_to      |> fix_emoji      |> fix_tag +    |> fix_content_map    end    def fix_in_reply_to(%{"inReplyTo" => in_reply_to_id} = object) @@ -107,6 +108,17 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do      |> Map.put("tag", combined)    end +  # content map usually only has one language so this will do for now. +  def fix_content_map(%{"contentMap" => content_map} = object) do +    content_groups = Map.to_list(content_map) +    {_, content} = Enum.at(content_groups, 0) + +    object +    |> Map.put("content", content) +  end + +  def fix_content_map(object), do: object +    # TODO: validate those with a Ecto scheme    # - tags    # - emoji | 
