Change Relay from `status` to `{status, message}`
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sat, 10 Nov 2018 14:31:37 +0000 (15:31 +0100)
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sat, 17 Nov 2018 21:12:13 +0000 (22:12 +0100)
lib/mix/tasks/relay_follow.ex
lib/mix/tasks/relay_unfollow.ex
lib/pleroma/web/activity_pub/relay.ex
lib/pleroma/web/admin_api/admin_api_controller.ex

index 39cecb71b7d428e05e620b8be2df1ba00f7b9ceb..bec63af7cf825a36b1942ce9cef0e8c81f8d5094 100644 (file)
@@ -14,11 +14,13 @@ defmodule Mix.Tasks.RelayFollow do
   def run([target]) do
     Mix.Task.run("app.start")
 
-    with :ok <- Relay.follow(target) do
+    {status, message} = Relay.follow(target)
+
+    if :ok == status do
       # put this task to sleep to allow the genserver to push out the messages
       :timer.sleep(500)
     else
-      e -> Mix.puts("Error: #{inspect(e)}")
+      Mix.puts("Error: #{inspect(message)}")
     end
   end
 end
index 5f12bd9ea45f70dbeacdbb1d56d974b494a41b61..df719af2b22848b282e48d2bdf4ee9bead2007c3 100644 (file)
@@ -13,11 +13,13 @@ defmodule Mix.Tasks.RelayUnfollow do
   def run([target]) do
     Mix.Task.run("app.start")
 
-    with :ok <- Relay.unfollow(target) do
+    {status, message} = Relay.unfollow(target)
+
+    if :ok == status do
       # put this task to sleep to allow the genserver to push out the messages
       :timer.sleep(500)
     else
-      e -> Mix.puts("Error: #{inspect(e)}")
+      Mix.puts("Error: #{inspect(message)}")
     end
   end
 end
index 107c57866c0c334672c54666d3c8fe53e45912a5..fcdc6b1c01681fef5dd4a811b3042bd86b83e0ff 100644 (file)
@@ -12,11 +12,11 @@ defmodule Pleroma.Web.ActivityPub.Relay do
          %User{} = target_user <- User.get_or_fetch_by_ap_id(target_instance),
          {:ok, activity} <- ActivityPub.follow(local_user, target_user) do
       Logger.info("relay: followed instance: #{target_instance}; id=#{activity.data["id"]}")
-      :ok
+      {:ok, activity}
     else
       e ->
         Logger.error("error: #{inspect(e)}")
-        :error
+        {:error, e}
     end
   end
 
@@ -25,11 +25,11 @@ defmodule Pleroma.Web.ActivityPub.Relay do
          %User{} = target_user <- User.get_or_fetch_by_ap_id(target_instance),
          {:ok, activity} <- ActivityPub.unfollow(local_user, target_user) do
       Logger.info("relay: unfollowed instance: #{target_instance}: id=#{activity.data["id"]}")
-      :ok
+      {:ok, activity}
     else
       e ->
         Logger.error("error: #{inspect(e)}")
-        :error
+        {:error, e}
     end
   end
 
index 5f6c565aedf3f8ef604147b6936c550622b1418c..39e85036ece8fb7c7bcfb5af83848b580759cd17 100644 (file)
@@ -102,7 +102,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
   end
 
   def relay_follow(conn, %{"relay_url" => target}) do
-    status = Relay.follow(target)
+    {status, message} = Relay.follow(target)
 
     if status == :ok do
       conn
@@ -115,7 +115,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
   end
 
   def relay_unfollow(conn, %{"relay_url" => target}) do
-    status = Relay.unfollow(target)
+    {status, message} = Relay.unfollow(target)
 
     if status == :ok do
       conn