Add option to keep id for follows.

This commit is contained in:
Roger Braun 2017-05-10 18:45:38 +02:00
parent 36448d6483
commit a2ca3b8605

View File

@ -218,7 +218,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
{:ok, activity, object} {:ok, activity, object}
end end
def follow(%User{ap_id: follower_id, local: actor_local}, %User{ap_id: followed_id}, local \\ true) do def follow(%User{ap_id: follower_id, local: actor_local}, %User{ap_id: followed_id}, activity_id \\ nil, local \\ true) do
data = %{ data = %{
"type" => "Follow", "type" => "Follow",
"actor" => follower_id, "actor" => follower_id,
@ -227,6 +227,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
"published" => make_date() "published" => make_date()
} }
data = if activity_id, do: Map.put(data, "id", activity_id), else: data
with {:ok, activity} <- insert(data, local) do with {:ok, activity} <- insert(data, local) do
if actor_local do if actor_local do
Pleroma.Web.Federator.enqueue(:publish, activity) Pleroma.Web.Federator.enqueue(:publish, activity)