diff --git a/app/Console/Commands/MakeSuperAdmin.php b/app/Console/Commands/MakeSuperAdmin.php new file mode 100644 index 0000000..a435dbe --- /dev/null +++ b/app/Console/Commands/MakeSuperAdmin.php @@ -0,0 +1,71 @@ +ask('Email adresini giriniz:'); + + if (empty($email)) { + $this->error('Email adresi boş olamaz!'); + return self::FAILURE; + } + + // Email formatını kontrol et + if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { + $this->error('Geçersiz email formatı!'); + return self::FAILURE; + } + + // Kullanıcıyı bul + $user = User::where('email', $email)->first(); + + if (!$user) { + $this->error("Email adresi '{$email}' ile kayıtlı kullanıcı bulunamadı!"); + return self::FAILURE; + } + + // Super admin rolünü kontrol et veya oluştur + $role = Role::firstOrCreate(['name' => 'super_admin'], [ + 'guard_name' => 'web', + ]); + + // Kullanıcı zaten super admin mi kontrol et + if ($user->hasRole('super_admin')) { + $this->warn("Kullanıcı '{$user->name}' ({$user->email}) zaten super admin!"); + return self::SUCCESS; + } + + // Super admin rolünü ata + $user->assignRole('super_admin'); + + $this->info("✓ Kullanıcı '{$user->name}' ({$user->email}) başarıyla super admin yapıldı!"); + + return self::SUCCESS; + } +} +