diff --git a/.env.example b/.env.example index c0660ea..b477cd5 100644 --- a/.env.example +++ b/.env.example @@ -63,3 +63,7 @@ AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false VITE_APP_NAME="${APP_NAME}" + +SUPERADMIN_NAME="SuperAdmin" +SUPERADMIN_EMAIL="admin@gmail.com" +SUPERADMIN_PASSWORD="password_yang_aman" diff --git a/app/Models/User.php b/app/Models/User.php index 68f3a66..4431e77 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -22,6 +22,7 @@ class User extends Authenticatable 'name', 'email', 'password', + 'role', ]; /** diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index c4ceb07..6118db9 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -29,6 +29,7 @@ class UserFactory extends Factory 'email' => fake()->unique()->safeEmail(), 'email_verified_at' => now(), 'password' => static::$password ??= Hash::make('password'), + 'role' => 'user', 'remember_token' => Str::random(10), ]; } diff --git a/database/migrations/2026_06_05_082026_add_role_to_users_table.php b/database/migrations/2026_06_05_082026_add_role_to_users_table.php new file mode 100644 index 0000000..262cd2a --- /dev/null +++ b/database/migrations/2026_06_05_082026_add_role_to_users_table.php @@ -0,0 +1,28 @@ +string('role')->default('user')->after('password'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('role'); + }); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 6b901f8..10cceb4 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -8,18 +8,14 @@ use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { - use WithoutModelEvents; - /** * Seed the application's database. */ public function run(): void { - // User::factory(10)->create(); - - User::factory()->create([ - 'name' => 'Test User', - 'email' => 'test@example.com', + // Memanggil SuperAdminSeeder + $this->call([ + SuperAdminSeeder::class, ]); } } diff --git a/database/seeders/SuperAdminSeeder.php b/database/seeders/SuperAdminSeeder.php new file mode 100644 index 0000000..361f88b --- /dev/null +++ b/database/seeders/SuperAdminSeeder.php @@ -0,0 +1,24 @@ + env('SUPERADMIN_NAME', 'SuperAdmin'), + 'email' => env('SUPERADMIN_EMAIL', 'admin@gmail.com'), + 'password' => Hash::make(env('SUPERADMIN_PASSWORD', 'qwerty#123')), // Ganti dengan password yang aman + 'role' => 'admin', // Menyesuaikan kolom role yang Anda buat di tabel users + ]); + } +}