Builder.note/1: return {:ok, map(), keyword()} like other Builder functions

This commit is contained in:
Alex Gleason 2021-08-14 11:24:55 -05:00
parent a2eacfc525
commit ba6049aa81
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
3 changed files with 36 additions and 28 deletions

View file

@ -126,7 +126,9 @@ defmodule Pleroma.Web.ActivityPub.Builder do
|> Pleroma.Maps.put_if_present("context", context), []} |> Pleroma.Maps.put_if_present("context", context), []}
end end
@spec note(ActivityDraft.t()) :: {:ok, map(), keyword()}
def note(%ActivityDraft{} = draft) do def note(%ActivityDraft{} = draft) do
data =
%{ %{
"type" => "Note", "type" => "Note",
"to" => draft.to, "to" => draft.to,
@ -141,6 +143,8 @@ defmodule Pleroma.Web.ActivityPub.Builder do
} }
|> add_in_reply_to(draft.in_reply_to) |> add_in_reply_to(draft.in_reply_to)
|> Map.merge(draft.extra) |> Map.merge(draft.extra)
{:ok, data, []}
end end
defp add_in_reply_to(object, nil), do: object defp add_in_reply_to(object, nil), do: object

View file

@ -214,8 +214,10 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do
emoji = Map.merge(emoji, summary_emoji) emoji = Map.merge(emoji, summary_emoji)
{:ok, note_data, _meta} = Builder.note(draft)
object = object =
Builder.note(draft) note_data
|> Map.put("emoji", emoji) |> Map.put("emoji", emoji)
|> Map.put("source", draft.status) |> Map.put("source", draft.status)
|> Map.put("generator", draft.params[:generator]) |> Map.put("generator", draft.params[:generator])

View file

@ -28,7 +28,7 @@ defmodule Pleroma.Web.ActivityPub.BuilderTest do
extra: %{"custom_tag" => "test"} extra: %{"custom_tag" => "test"}
} }
assert Builder.note(draft) == %{ expected = %{
"actor" => user.ap_id, "actor" => user.ap_id,
"attachment" => [], "attachment" => [],
"cc" => [user3.ap_id], "cc" => [user3.ap_id],
@ -41,6 +41,8 @@ defmodule Pleroma.Web.ActivityPub.BuilderTest do
"type" => "Note", "type" => "Note",
"custom_tag" => "test" "custom_tag" => "test"
} }
assert {:ok, ^expected, []} = Builder.note(draft)
end end
end end
end end