34 lines
949 B
PHP
34 lines
949 B
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use App\Enums\RoleName;
|
|
use App\Models\Role;
|
|
use App\Models\User;
|
|
use Illuminate\Console\Command;
|
|
use Illuminate\Contracts\Console\PromptsForMissingInput;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
class CreateAdmin extends Command implements PromptsForMissingInput
|
|
{
|
|
protected $signature = 'app:create-admin {user : E-Mail for the admin account} {password : Password for the admin account}';
|
|
protected $description = 'Creates a super admin for the system';
|
|
|
|
public function handle(): void
|
|
{
|
|
$user = $this->argument('user');
|
|
$password = $this->argument('password');
|
|
|
|
$user = User::create([
|
|
'name' => $user,
|
|
'email' => $user,
|
|
'password' => Hash::make($password),
|
|
]);
|
|
|
|
$role = Role::where('name', RoleName::SuperAdmin)->first();
|
|
$user->roles()->attach($role);
|
|
|
|
$this->info("Admin account created");
|
|
}
|
|
}
|