defmodule Mix.Tasks.RegisterUser do
+ @moduledoc """
+ Manually register a local user
+
+ Usage: ``mix register_user <name> <nickname> <email> <bio> <password>``
+
+ Example: ``mix register_user 仮面の告白 lain lain@example.org "blushy-crushy fediverse idol + pleroma dev" pleaseDontHeckLain``
+ """
+
use Mix.Task
- import Mix.Ecto
alias Pleroma.{Repo, User}
@shortdoc "Register user"
def run([name, nickname, email, bio, password]) do
- ensure_started(Repo, [])
- user = %User{
+ Mix.Task.run("app.start")
+
+ params = %{
name: name,
nickname: nickname,
email: email,
- password_hash: Comeonin.Pbkdf2.hashpwsalt(password),
+ password: password,
+ password_confirmation: password,
bio: bio
}
- user = %{ user | ap_id: User.ap_id(user), following: User.ap_followers(user) }
+ user = User.register_changeset(%User{}, params)
Repo.insert!(user)
end