Refactor copypasta to a private function in instance.ex
[akkoma] / lib / mix / tasks / relay_unfollow.ex
index cb13a072974218bb662a6712163e16d14e28a884..237fb771c3faf333d11815bab8ea8c54f3beb48e 100644 (file)
@@ -3,7 +3,7 @@ defmodule Mix.Tasks.RelayUnfollow do
   require Logger
   alias Pleroma.Web.ActivityPub.Relay
 
-  @doc """
+  @moduledoc """
   Unfollows a remote relay
 
   Usage: ``mix relay_follow <relay_url>``
@@ -13,9 +13,11 @@ defmodule Mix.Tasks.RelayUnfollow do
   def run([target]) do
     Mix.Task.run("app.start")
 
-    :ok = Relay.unfollow(target)
-
-    # put this task to sleep to allow the genserver to push out the messages
-    :timer.sleep(500)
+    with {:ok, activity} <- Relay.follow(target) do
+      # put this task to sleep to allow the genserver to push out the messages
+      :timer.sleep(500)
+    else
+      {:error, e} -> Mix.shell().error("Error while following #{target}: #{inspect(e)}")
+    end
   end
 end