X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fostatus%2Fhandlers%2Fdelete_handler.ex;h=01b52f08f9037cfaf38efcd650d1538a280eb390;hb=5b1d7c3c5672af065af503891d156b6e0cf5a8c1;hp=2e5f9469b9b7f11cc8533ced4557a065fa40d29f;hpb=f226f46a097b6b87a87ce1ead07383e8f83ad8ea;p=akkoma diff --git a/lib/pleroma/web/ostatus/handlers/delete_handler.ex b/lib/pleroma/web/ostatus/handlers/delete_handler.ex index 2e5f9469b..01b52f08f 100644 --- a/lib/pleroma/web/ostatus/handlers/delete_handler.ex +++ b/lib/pleroma/web/ostatus/handlers/delete_handler.ex @@ -1,14 +1,18 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + defmodule Pleroma.Web.OStatus.DeleteHandler do require Logger - alias Pleroma.Web.{XML, OStatus} - alias Pleroma.{Activity, Object, Repo} + alias Pleroma.Web.XML + alias Pleroma.Object + alias Pleroma.Web.ActivityPub.ActivityPub - def handle_delete(entry, doc \\ nil) do + 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) do - Repo.delete(object) - Repo.delete_all(Activity.all_by_object_ap_id_q(id)) - nil + %Object{} = object <- Object.normalize(id), + {:ok, delete} <- ActivityPub.delete(object, false) do + delete end end end