From 18d19fa4730749335d1cf62f8b848f36fb52f03b Mon Sep 17 00:00:00 2001 From: Twyco Date: Sun, 23 Aug 2026 14:49:26 +0200 Subject: [PATCH] create admin user fix --- app/Console/Commands/CreateAdminUser.php | 33 ++++++++++++++++-------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/app/Console/Commands/CreateAdminUser.php b/app/Console/Commands/CreateAdminUser.php index c35d67e..11d1f59 100644 --- a/app/Console/Commands/CreateAdminUser.php +++ b/app/Console/Commands/CreateAdminUser.php @@ -8,6 +8,7 @@ use App\Models\User; use Illuminate\Console\Attributes\Description; use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; #[Signature('app:create-admin-user {name=Admin} {email=admin@kanbangit.test} {password=test}')] @@ -25,20 +26,30 @@ class CreateAdminUser extends Command */ public function handle(): int { - $user = User::create([ - 'name' => $this->argument('name'), - 'email' => $this->argument('email'), - 'password' => Hash::make($this->argument('password')), - ]); + DB::beginTransaction(); - $this->avatars->generate($user); + try { + $user = User::create([ + 'name' => $this->argument('name'), + 'email' => $this->argument('email'), + 'password' => Hash::make($this->argument('password')), + ]); - $user->permissionAssignments()->create([ - 'permission' => Permission::GlobalAdmin, - ]); + $this->avatars->generate($user); - $this->info(sprintf('Admin User created with emil=\'%s\' and password=\'%s\'', $this->argument('email'), $this->argument('password'))); + $user->permissionAssignments()->create([ + 'permission' => Permission::GlobalAdmin, + ]); - return self::SUCCESS; + $this->info(sprintf('Admin User created with emil=\'%s\' and password=\'%s\'', $this->argument('email'), $this->argument('password'))); + DB::commit(); + + return self::SUCCESS; + } catch (\Exception $exception) { + $this->error('Admin User could not be created: ', $exception->getMessage()); + DB::rollBack(); + + return self::FAILURE; + } } }