|
|
|
@ -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"])],
|
|
|
|
|