summaryrefslogtreecommitdiff
path: root/lib/pleroma/web/activity_pub/builder.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/web/activity_pub/builder.ex')
-rw-r--r--lib/pleroma/web/activity_pub/builder.ex14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/builder.ex b/lib/pleroma/web/activity_pub/builder.ex
index 5b25138a4..cf50cef73 100644
--- a/lib/pleroma/web/activity_pub/builder.ex
+++ b/lib/pleroma/web/activity_pub/builder.ex
@@ -337,4 +337,18 @@ defmodule Pleroma.Web.ActivityPub.Builder do
defp pinned_url(nickname) when is_binary(nickname) do
Pleroma.Web.Router.Helpers.activity_pub_url(Pleroma.Web.Endpoint, :pinned, nickname)
end
+
+ def listen(%{to: to, actor: %{ap_id: actor}, object: object} = params, additional) do
+ {:ok,
+ %{
+ "type" => "Listen",
+ "id" => Utils.generate_activity_id(),
+ "to" => to |> Enum.uniq(),
+ "actor" => actor,
+ "object" => object,
+ "published" => Map.get(params, :published, Utils.make_date()),
+ "context" => params.context
+ }
+ |> Map.merge(additional), []}
+ end
end