2017-08-01 17:05:07 +02:00
|
|
|
defmodule Pleroma.Web.OStatus.DeleteHandler do
|
|
|
|
require Logger
|
2017-11-19 02:22:07 +01:00
|
|
|
alias Pleroma.Web.XML
|
|
|
|
alias Pleroma.Object
|
2017-09-04 18:47:46 +02:00
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
2017-08-01 17:05:07 +02:00
|
|
|
|
2017-11-19 02:22:07 +01:00
|
|
|
def handle_delete(entry, _doc \\ nil) do
|
2017-08-01 17:05:07 +02:00
|
|
|
with id <- XML.string_from_xpath("//id", entry),
|
2017-09-04 18:47:46 +02:00
|
|
|
object when not is_nil(object) <- Object.get_by_ap_id(id),
|
|
|
|
{:ok, delete} <- ActivityPub.delete(object, false) do
|
|
|
|
delete
|
2017-08-01 17:05:07 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|