Add deletion to masto api.
[akkoma] / lib / pleroma / web / mastodon_api / mastodon_api_controller.ex
index 3a568cf2b2c7d2a31c66bbc2696108e329855943..af62c3df0962e36fa9486c74c4c4e67b65233901 100644 (file)
@@ -6,6 +6,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
   alias Pleroma.Web.MastodonAPI.{StatusView, AccountView}
   alias Pleroma.Web.ActivityPub.ActivityPub
   alias Pleroma.Web.TwitterAPI.TwitterAPI
+  alias Pleroma.Web.CommonAPI
 
   def create_app(conn, params) do
     with cs <- App.register_changeset(%App{}, params) |> IO.inspect,
@@ -68,4 +69,15 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
       render conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity}
     end
   end
+
+  def delete_status(%{assigns: %{user: user}} = conn, %{"id" => id}) do
+    with {:ok, %Activity{}} <- CommonAPI.delete(id, user) do
+      json(conn, %{})
+    else
+      _e ->
+        conn
+        |> put_status(403)
+        |> json(%{error: "Can't delete this post"})
+    end
+  end
 end