Allow to use Mix tasks inside Releases
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
committed by
prichier
parent
a269d77044
commit
01f746a5d2
28
lib/mix/tasks/mobilizon/relay/accept.ex
Normal file
28
lib/mix/tasks/mobilizon/relay/accept.ex
Normal file
@@ -0,0 +1,28 @@
|
||||
defmodule Mix.Tasks.Mobilizon.Relay.Accept do
|
||||
@moduledoc """
|
||||
Task to accept an instance follow request
|
||||
"""
|
||||
use Mix.Task
|
||||
alias Mobilizon.Federation.ActivityPub.Relay
|
||||
import Mix.Tasks.Mobilizon.Common
|
||||
|
||||
@shortdoc "Accept an instance follow request"
|
||||
|
||||
@impl Mix.Task
|
||||
def run([target]) do
|
||||
start_mobilizon()
|
||||
|
||||
case Relay.accept(target) do
|
||||
{:ok, _activity} ->
|
||||
# put this task to sleep to allow the genserver to push out the messages
|
||||
:timer.sleep(500)
|
||||
|
||||
{:error, e} ->
|
||||
IO.puts(:stderr, "Error while accept #{target} follow: #{inspect(e)}")
|
||||
end
|
||||
end
|
||||
|
||||
def run(_) do
|
||||
shell_error("mobilizon.relay.accept requires an instance hostname as arguments")
|
||||
end
|
||||
end
|
||||
28
lib/mix/tasks/mobilizon/relay/follow.ex
Normal file
28
lib/mix/tasks/mobilizon/relay/follow.ex
Normal file
@@ -0,0 +1,28 @@
|
||||
defmodule Mix.Tasks.Mobilizon.Relay.Follow do
|
||||
@moduledoc """
|
||||
Task to follow an instance
|
||||
"""
|
||||
use Mix.Task
|
||||
alias Mobilizon.Federation.ActivityPub.Relay
|
||||
import Mix.Tasks.Mobilizon.Common
|
||||
|
||||
@shortdoc "Follow an instance"
|
||||
|
||||
@impl Mix.Task
|
||||
def run([target]) do
|
||||
start_mobilizon()
|
||||
|
||||
case Relay.follow(target) do
|
||||
{:ok, _activity, _follow} ->
|
||||
# put this task to sleep to allow the genserver to push out the messages
|
||||
:timer.sleep(500)
|
||||
|
||||
{:error, e} ->
|
||||
IO.puts(:stderr, "Error while following #{target}: #{inspect(e)}")
|
||||
end
|
||||
end
|
||||
|
||||
def run(_) do
|
||||
shell_error("mobilizon.relay.follow requires an instance hostname as arguments")
|
||||
end
|
||||
end
|
||||
28
lib/mix/tasks/mobilizon/relay/refresh.ex
Normal file
28
lib/mix/tasks/mobilizon/relay/refresh.ex
Normal file
@@ -0,0 +1,28 @@
|
||||
defmodule Mix.Tasks.Mobilizon.Relay.Refresh do
|
||||
@moduledoc """
|
||||
Task to refresh an instance details
|
||||
"""
|
||||
use Mix.Task
|
||||
alias Mobilizon.Federation.ActivityPub.Relay
|
||||
import Mix.Tasks.Mobilizon.Common
|
||||
|
||||
@shortdoc "Refresh an instance informations and crawl their outbox"
|
||||
|
||||
@impl Mix.Task
|
||||
def run([target]) do
|
||||
start_mobilizon()
|
||||
IO.puts("Refreshing #{target}, this can take a while.")
|
||||
|
||||
case Relay.refresh(target) do
|
||||
:ok ->
|
||||
IO.puts("Refreshed #{target}")
|
||||
|
||||
err ->
|
||||
IO.puts(:stderr, "Error while refreshing #{target}: #{inspect(err)}")
|
||||
end
|
||||
end
|
||||
|
||||
def run(_) do
|
||||
shell_error("mobilizon.relay.refresh requires an instance hostname as arguments")
|
||||
end
|
||||
end
|
||||
28
lib/mix/tasks/mobilizon/relay/unfollow.ex
Normal file
28
lib/mix/tasks/mobilizon/relay/unfollow.ex
Normal file
@@ -0,0 +1,28 @@
|
||||
defmodule Mix.Tasks.Mobilizon.Relay.Unfollow do
|
||||
@moduledoc """
|
||||
Task to unfollow an instance
|
||||
"""
|
||||
use Mix.Task
|
||||
alias Mobilizon.Federation.ActivityPub.Relay
|
||||
import Mix.Tasks.Mobilizon.Common
|
||||
|
||||
@shortdoc "Unfollow an instance"
|
||||
|
||||
@impl Mix.Task
|
||||
def run([target]) do
|
||||
start_mobilizon()
|
||||
|
||||
case Relay.unfollow(target) do
|
||||
{:ok, _activity, _follow} ->
|
||||
# put this task to sleep to allow the genserver to push out the messages
|
||||
:timer.sleep(500)
|
||||
|
||||
{:error, e} ->
|
||||
IO.puts(:stderr, "Error while unfollowing #{target}: #{inspect(e)}")
|
||||
end
|
||||
end
|
||||
|
||||
def run(_) do
|
||||
shell_error("mobilizon.relay.unfollow requires an instance hostname as arguments")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user