Implement delete activity

This commit is contained in:
sxsdv1 2019-01-01 23:19:40 +01:00
commit 4e1cc2bab6
2 changed files with 57 additions and 2 deletions

View file

@ -181,6 +181,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
})
end
def handle_user_activity(user, %{"type" => "Delete"} = params) do
with %Object{} = object <- Object.normalize(params["object"]),
true <- user.info.is_moderator || user.ap_id == object.data["actor"],
{:ok, delete} <- ActivityPub.delete(object) do
{:ok, delete}
else
_ -> {:error, "Can't delete object"}
end
end
def handle_user_activity(_, _) do
{:error, "Unhandled activity type"}
end