aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-11-25 20:40:16 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-12-04 04:52:09 +0000
commitdd66cc2ca6c99d5b1586133dd85d8d36d5cbaaa7 (patch)
tree99d3bce27dde48d279823ce81edebdded940ecfd /lib
parent5d4a71906a15d4d6bff714ef0bb63fba1c5f4fb3 (diff)
downloadpleroma-dd66cc2ca6c99d5b1586133dd85d8d36d5cbaaa7.tar.gz
ostatus: use Object.normalize() where appropriate when representing activities
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/ostatus/activity_representer.ex21
1 files changed, 11 insertions, 10 deletions
diff --git a/lib/pleroma/web/ostatus/activity_representer.ex b/lib/pleroma/web/ostatus/activity_representer.ex
index 537bd9f77..ceb4d79db 100644
--- a/lib/pleroma/web/ostatus/activity_representer.ex
+++ b/lib/pleroma/web/ostatus/activity_representer.ex
@@ -84,11 +84,13 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
def to_simple_form(%{data: %{"object" => %{"type" => "Note"}}} = activity, user, with_author) do
h = fn str -> [to_charlist(str)] end
- updated_at = activity.data["object"]["published"]
- inserted_at = activity.data["object"]["published"]
+ object = Object.normalize(activity.data["object"])
+
+ updated_at = object.data["published"]
+ inserted_at = object.data["published"]
attachments =
- Enum.map(activity.data["object"]["attachment"] || [], fn attachment ->
+ Enum.map(object.data["attachment"] || [], fn attachment ->
url = hd(attachment["url"])
{:link,
@@ -101,7 +103,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
mentions = activity.recipients |> get_mentions
categories =
- (activity.data["object"]["tag"] || [])
+ (object.data["tag"] || [])
|> Enum.map(fn tag ->
if is_binary(tag) do
{:category, [term: to_charlist(tag)], []}
@@ -111,11 +113,11 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
end)
|> Enum.filter(& &1)
- emoji_links = get_emoji_links(activity.data["object"]["emoji"] || %{})
+ emoji_links = get_emoji_links(object.data["emoji"] || %{})
summary =
- if activity.data["object"]["summary"] do
- [{:summary, [], h.(activity.data["object"]["summary"])}]
+ if object.data["summary"] do
+ [{:summary, [], h.(object.data["summary"])}]
else
[]
end
@@ -124,10 +126,9 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenter do
{:"activity:object-type", ['http://activitystrea.ms/schema/1.0/note']},
{:"activity:verb", ['http://activitystrea.ms/schema/1.0/post']},
# For notes, federate the object id.
- {:id, h.(activity.data["object"]["id"])},
+ {:id, h.(object.data["id"])},
{:title, ['New note by #{user.nickname}']},
- {:content, [type: 'html'],
- h.(activity.data["object"]["content"] |> String.replace(~r/[\n\r]/, ""))},
+ {:content, [type: 'html'], h.(object.data["content"] |> String.replace(~r/[\n\r]/, ""))},
{:published, h.(inserted_at)},
{:updated, h.(updated_at)},
{:"ostatus:conversation", [ref: h.(activity.data["context"])],