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
@@ -7,6 +7,7 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
|
||||
alias Mobilizon.Federation.ActivityPub
|
||||
alias Mobilizon.Storage.Repo
|
||||
import Ecto.Query
|
||||
import Mix.Tasks.Mobilizon.Common
|
||||
require Logger
|
||||
|
||||
@shortdoc "Refresh an actor or all actors"
|
||||
@@ -26,11 +27,11 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
|
||||
|
||||
verbose = Keyword.get(options, :verbose, false)
|
||||
|
||||
Mix.Task.run("app.start")
|
||||
start_mobilizon()
|
||||
|
||||
total = count_actors()
|
||||
|
||||
Mix.shell().info("""
|
||||
shell_info("""
|
||||
#{total} actors to process
|
||||
""")
|
||||
|
||||
@@ -62,22 +63,22 @@ defmodule Mix.Tasks.Mobilizon.Actors.Refresh do
|
||||
|
||||
@impl Mix.Task
|
||||
def run([preferred_username]) do
|
||||
Mix.Task.run("app.start")
|
||||
start_mobilizon()
|
||||
|
||||
case ActivityPub.make_actor_from_nickname(preferred_username) do
|
||||
{:ok, %Actor{}} ->
|
||||
Mix.shell().info("""
|
||||
shell_info("""
|
||||
Actor #{preferred_username} refreshed
|
||||
""")
|
||||
|
||||
{:actor, nil} ->
|
||||
Mix.raise("Error: No such actor")
|
||||
shell_error("Error: No such actor")
|
||||
end
|
||||
end
|
||||
|
||||
@impl Mix.Task
|
||||
def run(_) do
|
||||
Mix.raise("mobilizon.actors.refresh requires an username as argument or --all as an option")
|
||||
shell_error("mobilizon.actors.refresh requires an username as argument or --all as an option")
|
||||
end
|
||||
|
||||
@spec make_actor(String.t(), boolean()) :: any()
|
||||
|
||||
@@ -5,16 +5,17 @@ defmodule Mix.Tasks.Mobilizon.Actors.Show do
|
||||
use Mix.Task
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Actor
|
||||
import Mix.Tasks.Mobilizon.Common
|
||||
|
||||
@shortdoc "Show a Mobilizon user details"
|
||||
|
||||
@impl Mix.Task
|
||||
def run([preferred_username]) do
|
||||
Mix.Task.run("app.start")
|
||||
start_mobilizon()
|
||||
|
||||
case {:actor, Actors.get_actor_by_name_with_preload(preferred_username)} do
|
||||
{:actor, %Actor{} = actor} ->
|
||||
Mix.shell().info("""
|
||||
shell_info("""
|
||||
Informations for the actor #{actor.preferred_username}:
|
||||
- Type: #{actor.type}
|
||||
- Domain: #{if is_nil(actor.domain), do: "Local", else: actor.domain}
|
||||
@@ -24,11 +25,11 @@ defmodule Mix.Tasks.Mobilizon.Actors.Show do
|
||||
""")
|
||||
|
||||
{:actor, nil} ->
|
||||
Mix.raise("Error: No such actor")
|
||||
shell_error("Error: No such actor")
|
||||
end
|
||||
end
|
||||
|
||||
def run(_) do
|
||||
Mix.raise("mobilizon.actors.show requires an username as argument")
|
||||
shell_error("mobilizon.actors.show requires an username as argument")
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user