diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2020-04-13 06:53:45 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2020-04-13 07:02:57 +0300 |
commit | c5c09fc61b7b6e591e9de23028e5caea8f26b996 (patch) | |
tree | 45e7f9c1688e42c3d0de338e2e821e1118a68ec4 /lib | |
parent | 5e365448f3fed98da0395ad69c9325795a85a12d (diff) | |
download | pleroma-c5c09fc61b7b6e591e9de23028e5caea8f26b996.tar.gz |
fix mediaType of object
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 39feae285..17e3c203a 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -35,6 +35,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do |> fix_actor |> fix_url |> fix_attachments + |> fix_media_type |> fix_context |> fix_in_reply_to(options) |> fix_emoji @@ -357,6 +358,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do def fix_type(object, _), do: object + defp fix_media_type(%{"mediaType" => _} = object) do + Map.put(object, "mediaType", "text/html") + end + + defp fix_media_type(object), do: object + defp mastodon_follow_hack(%{"id" => id, "actor" => follower_id}, followed) do with true <- id =~ "follows", %User{local: true} = follower <- User.get_cached_by_ap_id(follower_id), @@ -1207,18 +1214,24 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do def prepare_attachments(object) do attachments = - (object["attachment"] || []) + object + |> Map.get("attachment", []) |> Enum.map(fn data -> [%{"mediaType" => media_type, "href" => href} | _] = data["url"] - %{"url" => href, "mediaType" => media_type, "name" => data["name"], "type" => "Document"} + + %{ + "url" => href, + "mediaType" => media_type, + "name" => data["name"], + "type" => "Document" + } end) Map.put(object, "attachment", attachments) end def strip_internal_fields(object) do - object - |> Map.drop(Pleroma.Constants.object_internal_fields()) + Map.drop(object, Pleroma.Constants.object_internal_fields()) end defp strip_internal_tags(%{"tag" => tags} = object) do |