diff --git a/lib/mix/tasks/pleroma/gen_invite.ex b/lib/mix/tasks/pleroma/gen_invite.ex deleted file mode 100644 index 0aa028f1..00000000 --- a/lib/mix/tasks/pleroma/gen_invite.ex +++ /dev/null @@ -1,24 +0,0 @@ -defmodule Mix.Tasks.Pleroma.Gen.Invite do - use Mix.Task - - @shortdoc "Generates a user invite token" - def run([]) do - Mix.Task.run("app.start") - - with {:ok, token} <- Pleroma.UserInviteToken.create_token() do - Mix.shell().info("Generated user invite token") - - url = - Pleroma.Web.Router.Helpers.redirect_url( - Pleroma.Web.Endpoint, - :registration_page, - token.token - ) - - IO.puts("URL: #{url}") - else - _ -> - Mix.shell().error("Could not create invite token.") - end - end -end diff --git a/lib/mix/tasks/pleroma/instance.ex b/lib/mix/tasks/pleroma/instance.ex index b3e0f99d..05653c23 100644 --- a/lib/mix/tasks/pleroma/instance.ex +++ b/lib/mix/tasks/pleroma/instance.ex @@ -6,7 +6,7 @@ defmodule Mix.Tasks.Pleroma.Instance do @moduledoc """ Manages Pleroma instance. - ## Generate a new instance. + ## Generate a new instance config. mix pleroma.instance new [OPTION...] @@ -145,6 +145,7 @@ defmodule Mix.Tasks.Pleroma.Instance do end end + defp escape_sh_path(path) do ~S(') <> String.replace(path, ~S('), ~S(\')) <> ~S(') end diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex index d7e17299..c23c5cdf 100644 --- a/lib/mix/tasks/pleroma/user.ex +++ b/lib/mix/tasks/pleroma/user.ex @@ -16,6 +16,10 @@ defmodule Mix.Tasks.Pleroma.User do - `--password PASSWORD` - the user's password - `--moderator`/`--no-moderator` - whether the user is a moderator - `--admin`/`--no-admin` - whether the user is an admin + + ## Generate an invite link. + + mix pleroma.user invite ## Delete the user's account. @@ -255,6 +259,26 @@ defmodule Mix.Tasks.Pleroma.User do end end + def run(["invite"]) do + Mix.Task.run("app.start") + + with {:ok, token} <- Pleroma.UserInviteToken.create_token() do + Mix.shell().info("Generated user invite token") + + url = + Pleroma.Web.Router.Helpers.redirect_url( + Pleroma.Web.Endpoint, + :registration_page, + token.token + ) + + IO.puts(url) + else + _ -> + Mix.shell().error("Could not create invite token.") + end + + end defp set_locked(nickname, value) do Mix.Ecto.ensure_started(Repo, [])