diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-09-09 13:56:51 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-09-09 13:56:51 +0200 |
commit | 4dc517a0bb979793c1c2590d38efe853c68eb80c (patch) | |
tree | d0883d6913b95745c3890d0e94026392483ba391 /lib/pleroma/web/common_api/common_api.ex | |
parent | be04f725e9398ebde446ef5664d4dbedd1eb262b (diff) | |
download | pleroma-4dc517a0bb979793c1c2590d38efe853c68eb80c.tar.gz |
Add deletion to masto api.
Diffstat (limited to 'lib/pleroma/web/common_api/common_api.ex')
-rw-r--r-- | lib/pleroma/web/common_api/common_api.ex | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/pleroma/web/common_api/common_api.ex b/lib/pleroma/web/common_api/common_api.ex new file mode 100644 index 000000000..a894ac9c1 --- /dev/null +++ b/lib/pleroma/web/common_api/common_api.ex @@ -0,0 +1,13 @@ +defmodule Pleroma.Web.CommonAPI do + alias Pleroma.{Repo, Activity, Object} + alias Pleroma.Web.ActivityPub.ActivityPub + + def delete(activity_id, user) do + with %Activity{data: %{"object" => %{"id" => object_id}}} <- Repo.get(Activity, activity_id), + %Object{} = object <- Object.get_by_ap_id(object_id), + true <- user.ap_id == object.data["actor"], + {:ok, delete} <- ActivityPub.delete(object) do + {:ok, delete} + end + end +end |