object_view.ex 870 Bytes
Newer Older
lain's avatar
lain committed
1 2
defmodule Pleroma.Web.ActivityPub.ObjectView do
  use Pleroma.Web, :view
lain's avatar
lain committed
3
  alias Pleroma.Web.ActivityPub.Transmogrifier
lain's avatar
lain committed
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

  def render("object.json", %{object: object}) do
    base = %{
      "@context" => [
        "https://www.w3.org/ns/activitystreams",
        "https://w3id.org/security/v1",
        %{
          "manuallyApprovesFollowers" => "as:manuallyApprovesFollowers",
          "sensitive" => "as:sensitive",
          "Hashtag" => "as:Hashtag",
          "ostatus" => "http://ostatus.org#",
          "atomUri" => "ostatus:atomUri",
          "inReplyToAtomUri" => "ostatus:inReplyToAtomUri",
          "conversation" => "ostatus:conversation",
          "toot" => "http://joinmastodon.org/ns#",
          "Emoji" => "toot:Emoji"
        }
      ]
    }

lain's avatar
lain committed
24
    additional = Transmogrifier.prepare_object(object.data)
lain's avatar
lain committed
25 26 27
    Map.merge(base, additional)
  end
end