diff --git a/app/Console/Commands/CreateAdmin.php b/app/Console/Commands/CreateAdmin.php new file mode 100644 index 0000000..75a5f54 --- /dev/null +++ b/app/Console/Commands/CreateAdmin.php @@ -0,0 +1,60 @@ +argument('email'); + if (!$email) { + $email = $this->ask('Email de l\'administrateur ?'); + } + + if (User::where('email', $email)->exists()) { + $this->error('Cet email est déjà utilisé !'); + return; + } + + $name = $this->ask('Nom de l\'administrateur ?', 'Administrateur'); + + $password = $this->option('password'); + if (!$password) { + $password = $this->secret('Mot de passe de l\'administrateur ?'); + if (!$password) { + $this->error('Le mot de passe ne peut pas être vide.'); + return; + } + } + + User::create([ + 'name' => $name, + 'email' => $email, + 'password' => Hash::make($password), + 'role' => 'admin', + ]); + + $this->info("L'administrateur $name ($email) a été créé avec succès !"); + } +}