Some other minor changes were made to make it consistent with the behavior of
other tasks both within Pleroma and the conventions set by dependencies such as
Phoenix. Namely, the task is named `gen.invite` and `IO.puts` has been replaced
with references to `Mix.shell()` where appropriate.
+++ /dev/null
-defmodule Mix.Tasks.GenerateInviteToken do
- use Mix.Task
-
- @shortdoc "Generate invite token for user"
- def run([]) do
- Mix.Task.run("app.start")
-
- with {:ok, token} <- Pleroma.UserInviteToken.create_token() do
- IO.puts("Generated user invite token")
-
- IO.puts(
- "Url: #{
- Pleroma.Web.Router.Helpers.redirect_url(
- Pleroma.Web.Endpoint,
- :registration_page,
- token.token
- )
- }"
- )
- else
- _ ->
- IO.puts("Error creating token")
- end
- end
-end
--- /dev/null
+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