distraction.party/lib/pleroma/web/ostatus/handlers/delete_handler.ex

15 lines
442 B
Elixir
Raw Normal View History

2017-08-01 15:05:07 +00:00
defmodule Pleroma.Web.OStatus.DeleteHandler do
require Logger
alias Pleroma.Web.{XML, OStatus}
alias Pleroma.{Activity, Object, Repo}
alias Pleroma.Web.ActivityPub.ActivityPub
2017-08-01 15:05:07 +00:00
def handle_delete(entry, doc \\ nil) do
with id <- XML.string_from_xpath("//id", entry),
object when not is_nil(object) <- Object.get_by_ap_id(id),
{:ok, delete} <- ActivityPub.delete(object, false) do
delete
2017-08-01 15:05:07 +00:00
end
end
end