Commit 82e34cae authored by lambda's avatar lambda

Unify object representation.

parent 2b5d2659
Pipeline #838 failed with stage
in 2 minutes and 41 seconds
......@@ -122,18 +122,23 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
if object = Object.get_by_ap_id(id), do: {:ok, object}, else: nil
end
@doc
"""
internal -> Mastodon
"""
def prepare_outgoing(%{"type" => "Create", "object" => %{"type" => "Note"} = object} = data) do
object = object
def prepare_object(object) do
object
|> set_sensitive
|> add_hashtags
|> add_mention_tags
|> add_attributed_to
|> prepare_attachments
|> set_conversation
end
@doc
"""
internal -> Mastodon
"""
def prepare_outgoing(%{"type" => "Create", "object" => %{"type" => "Note"} = object} = data) do
object = object
|> prepare_object
data = data
|> Map.put("object", object)
......
defmodule Pleroma.Web.ActivityPub.ObjectView do
use Pleroma.Web, :view
alias Pleroma.Web.ActivityPub.Transmogrifier
def render("object.json", %{object: object}) do
base = %{
......@@ -20,8 +21,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectView do
]
}
additional = Map.take(object.data, ["id", "to", "cc", "actor", "content", "summary", "type"])
|> Map.put("attributedTo", object.data["actor"])
additional = Transmogrifier.prepare_object(object.data)
Map.merge(base, additional)
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment