Handle incoming deletes.

This commit is contained in:
lain 2018-03-03 18:37:40 +01:00
commit d2ad99298e
3 changed files with 65 additions and 13 deletions

View file

@ -138,6 +138,21 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
end
end
# TODO: Make secure.
def handle_incoming(%{"type" => "Delete", "object" => object_id, "actor" => actor, "id" => id} = data) do
object_id = case object_id do
%{"id" => id} -> id
id -> id
end
with %User{} = actor <- User.get_or_fetch_by_ap_id(actor),
{:ok, object} <- get_obj_helper(object_id) || ActivityPub.fetch_object_from_id(object_id),
{:ok, activity} <- ActivityPub.delete(object, false) do
{:ok, activity}
else
e -> :error
end
end
# TODO
# Accept
# Undo