Create deletes activities for incoming deletes.
[akkoma] / lib / pleroma / web / ostatus / handlers / delete_handler.ex
index f54a037a0ef3cdf56e5ff9b70b7f8c40b76806fc..29fe4052c915e10648965090ddb0bff6d3dbca37 100644 (file)
@@ -2,14 +2,13 @@ defmodule Pleroma.Web.OStatus.DeleteHandler do
   require Logger
   alias Pleroma.Web.{XML, OStatus}
   alias Pleroma.{Activity, Object, Repo}
+  alias Pleroma.Web.ActivityPub.ActivityPub
 
   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_non_create_by_object_ap_id_q(id))
-      Repo.delete_all(Activity.all_by_object_ap_id_q(id))
-      nil
+         object when not is_nil(object) <- Object.get_by_ap_id(id),
+         {:ok, delete} <- ActivityPub.delete(object, false) do
+      delete
     end
   end
 end