aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-02-24 20:16:41 +0100
committerlain <lain@soykaf.club>2018-02-24 20:16:41 +0100
commit82e34cae95a204475f4419758c980ddd922be095 (patch)
tree76d38cc8c3895f5996ba2ee53d41f8dd73fd45fa /lib
parent2b5d2659543e3484973b0eb5eb975f4a9fb298df (diff)
downloadpleroma-82e34cae95a204475f4419758c980ddd922be095.tar.gz
Unify object representation.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex17
-rw-r--r--lib/pleroma/web/activity_pub/views/object_view.ex4
2 files changed, 13 insertions, 8 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 2e5ca70fd..698cfa0a9 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -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)
diff --git a/lib/pleroma/web/activity_pub/views/object_view.ex b/lib/pleroma/web/activity_pub/views/object_view.ex
index c39f99454..cc0b0556b 100644
--- a/lib/pleroma/web/activity_pub/views/object_view.ex
+++ b/lib/pleroma/web/activity_pub/views/object_view.ex
@@ -1,5 +1,6 @@
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