Merge remote-tracking branch 'pleroma/develop' into feature/disable-account
[akkoma] / lib / pleroma / web / twitter_api / controllers / util_controller.ex
index d0bf3a315f2af2706dd8f34b321e2d62c9154be2..7b7fd912b367e3b386c0ed0fa838b3a8e900401b 100644 (file)
@@ -352,7 +352,18 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   def delete_account(%{assigns: %{user: user}} = conn, params) do
     case CommonAPI.Utils.confirm_current_password(user, params["password"]) do
       {:ok, user} ->
-        Task.start(fn -> User.delete(user) end)
+        User.delete(user)
+        json(conn, %{status: "success"})
+
+      {:error, msg} ->
+        json(conn, %{error: msg})
+    end
+  end
+
+  def disable_account(%{assigns: %{user: user}} = conn, params) do
+    case CommonAPI.Utils.confirm_current_password(user, params["password"]) do
+      {:ok, user} ->
+        User.deactivate_async(user)
         json(conn, %{status: "success"})
 
       {:error, msg} ->
@@ -365,10 +376,15 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   def healthcheck(conn, _params) do
-    info = Pleroma.Healthcheck.system_info()
+    info =
+      if Pleroma.Config.get([:instance, :healthcheck]) do
+        Pleroma.Healthcheck.system_info()
+      else
+        %{}
+      end
 
     conn =
-      if info.healthy do
+      if info[:healthy] do
         conn
       else
         Plug.Conn.put_status(conn, :service_unavailable)