forked from mirrors/akkoma
8c7a382027
instead of aliasing This seems to be the convention for functions that can be reused between different mix tasks in all Elixir projects I've seen and it gets rid on an error message when someone runs mix pleroma.common Also in this commit by accident: - Move benchmark task under a proper namespace - Insert a space after the prompt
48 lines
1.3 KiB
Elixir
48 lines
1.3 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Mix.Tasks.Pleroma.Relay do
|
|
use Mix.Task
|
|
import Mix.Pleroma
|
|
alias Pleroma.Web.ActivityPub.Relay
|
|
|
|
@shortdoc "Manages remote relays"
|
|
@moduledoc """
|
|
Manages remote relays
|
|
|
|
## Follow a remote relay
|
|
|
|
``mix pleroma.relay follow <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
|
|
start_pleroma()
|
|
|
|
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} -> shell_error("Error while following #{target}: #{inspect(e)}")
|
|
end
|
|
end
|
|
|
|
def run(["unfollow", target]) do
|
|
start_pleroma()
|
|
|
|
with {:ok, _activity} <- Relay.unfollow(target) do
|
|
# put this task to sleep to allow the genserver to push out the messages
|
|
:timer.sleep(500)
|
|
else
|
|
{:error, e} -> shell_error("Error while following #{target}: #{inspect(e)}")
|
|
end
|
|
end
|
|
end
|