diff options
author | Rin Toshaka <rinpatch@sdf.org> | 2018-12-05 18:11:59 +0100 |
---|---|---|
committer | Rin Toshaka <rinpatch@sdf.org> | 2018-12-05 18:11:59 +0100 |
commit | facfd03bc1f9ec2464fb0b78ece2c7d3162521db (patch) | |
tree | 66a5263eb2e38316e17a866c692b6632dbaf1f6d /lib/mix/tasks/pleroma | |
parent | e8ba579efe7d9ca4be32c5aacf62be0de1ec09df (diff) | |
download | pleroma-facfd03bc1f9ec2464fb0b78ece2c7d3162521db.tar.gz |
Move relay tasks to relay.ex
Diffstat (limited to 'lib/mix/tasks/pleroma')
-rw-r--r-- | lib/mix/tasks/pleroma/relay.ex | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/mix/tasks/pleroma/relay.ex b/lib/mix/tasks/pleroma/relay.ex new file mode 100644 index 000000000..aa0232a32 --- /dev/null +++ b/lib/mix/tasks/pleroma/relay.ex @@ -0,0 +1,42 @@ +defmodule Mix.Tasks.Pleroma.Relay do + use Mix.Task + alias Pleroma.Web.ActivityPub.Relay + + @shortdoc "Manages remote relays" + @moduledoc """ + Manages remote relays + + ## Follow a remote relay + + ``mix pleroma.relay unfollow <relay_url>`` + + Example: ``mix pleroma.relay follow https://example.org/relay`` + + ## Unfollow a remote relay + + ``mix pleroma.relay unfollow <relay_url>`` + + Example: ``mix pleroma.relay unfollow https://example.org/relay`` + """ + def run(["follow", target]) do + Mix.Task.run("app.start") + + 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 + + def run(["unfollow", target]) do + Mix.Task.run("app.start") + + 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 |