lib/pleroma/web/admin_api/admin_api_controller.ex: Support status reply of Relay...
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sat, 10 Nov 2018 13:55:49 +0000 (14:55 +0100)
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sat, 17 Nov 2018 19:25:56 +0000 (20:25 +0100)
lib/pleroma/web/admin_api/admin_api_controller.ex

index c1df2d5703be116e19f2c5c0de17d1795700f400..360ce07327ee0c5b661b393930553f699c5d8cf0 100644 (file)
@@ -78,7 +78,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
       when right in ["moderator", "admin"] do
     if admin_nickname == nickname do
       conn
-      |> post_status(403)
+      |> put_status(403)
       |> json(%{error: "You can't revoke your own admin status."})
     else
       user = User.get_by_nickname(nickname)
@@ -102,17 +102,29 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
   end
 
   def relay_follow(conn, %{"relay_url" => target}) do
-    :ok = Relay.follow(target)
+    status = Relay.follow(target)
 
-    conn
-    |> json(target)
+    if status == :ok do
+      conn
+      |> json(target)
+    else
+      conn
+      |> put_status(500)
+      |> json(target)
+    end
   end
 
   def relay_unfollow(conn, %{"relay_url" => target}) do
-    :ok = Relay.unfollow(target)
+    status = Relay.unfollow(target)
 
-    conn
-    |> json(target)
+    if status == :ok do
+      conn
+      |> json(target)
+    else
+      conn
+      |> put_status(500)
+      |> json(target)
+    end
   end
 
   @shortdoc "Get a account registeration invite token (base64 string)"