2018-12-23 20:04:54 +00:00
|
|
|
# Pleroma: A lightweight social networking server
|
2018-12-31 15:41:47 +00:00
|
|
|
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
|
2018-12-23 20:04:54 +00:00
|
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
2017-08-01 15:05:07 +00:00
|
|
|
defmodule Pleroma.Web.OStatus.DeleteHandler do
|
|
|
|
require Logger
|
2017-11-19 01:22:07 +00:00
|
|
|
alias Pleroma.Object
|
2017-09-04 16:47:46 +00:00
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
2019-03-05 02:52:23 +00:00
|
|
|
alias Pleroma.Web.XML
|
2017-08-01 15:05:07 +00:00
|
|
|
|
2017-11-19 01:22:07 +00:00
|
|
|
def handle_delete(entry, _doc \\ nil) do
|
2017-08-01 15:05:07 +00:00
|
|
|
with id <- XML.string_from_xpath("//id", entry),
|
2018-06-18 21:08:37 +00:00
|
|
|
%Object{} = object <- Object.normalize(id),
|
2019-10-11 10:53:09 +00:00
|
|
|
{:ok, delete} <- ActivityPub.delete(object, local: false) do
|
2017-09-04 16:47:46 +00:00
|
|
|
delete
|
2017-08-01 15:05:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|