diff options
| author | Roger Braun <roger@rogerbraun.net> | 2017-08-01 17:05:07 +0200 |
|---|---|---|
| committer | Roger Braun <roger@rogerbraun.net> | 2017-08-01 17:05:07 +0200 |
| commit | f226f46a097b6b87a87ce1ead07383e8f83ad8ea (patch) | |
| tree | a40146cb739690124fe44397dda6953129649cb5 /lib/pleroma/web/ostatus/handlers/delete_handler.ex | |
| parent | 558ab6e74e631842e39002dffdb99a2867b5acbd (diff) | |
| download | pleroma-f226f46a097b6b87a87ce1ead07383e8f83ad8ea.tar.gz pleroma-f226f46a097b6b87a87ce1ead07383e8f83ad8ea.zip | |
Add basic incoming deletions.
Diffstat (limited to 'lib/pleroma/web/ostatus/handlers/delete_handler.ex')
| -rw-r--r-- | lib/pleroma/web/ostatus/handlers/delete_handler.ex | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/web/ostatus/handlers/delete_handler.ex b/lib/pleroma/web/ostatus/handlers/delete_handler.ex new file mode 100644 index 000000000..2e5f9469b --- /dev/null +++ b/lib/pleroma/web/ostatus/handlers/delete_handler.ex @@ -0,0 +1,14 @@ +defmodule Pleroma.Web.OStatus.DeleteHandler do + require Logger + alias Pleroma.Web.{XML, OStatus} + alias Pleroma.{Activity, Object, Repo} + + 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 + end + end +end |
