From a4aab54735307aed2df88f82a2ec45398cadd786 Mon Sep 17 00:00:00 2001 From: Sholahuddin Al Ayubi Date: Fri, 31 Oct 2025 16:53:50 +0700 Subject: [PATCH] refactor(usermanagement): streamline UsersSeeder by utilizing RolesSeeder and improving user creation logic --- database/seeders/UsersSeeder.php | 55 ++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/database/seeders/UsersSeeder.php b/database/seeders/UsersSeeder.php index 0d2f1e1..1463b71 100644 --- a/database/seeders/UsersSeeder.php +++ b/database/seeders/UsersSeeder.php @@ -1,35 +1,42 @@ data(); - foreach ($roles as $role) { - $user = User::create([ - 'name' => $role->name, - 'email' => $role->name . '@ag.co.id', - 'password' => Hash::make('bagbag'), - 'branch_id' => 1, - 'nik' => '000000', - 'email_verified_at' => now(), - ]); + foreach ($rolesData as $roleData) { + if ($roleData['name'] === 'administrator') { + $user = User::firstOrCreate( + ['email' => $roleData['name'] . '@ag.co.id'], + [ + 'name' => $roleData['name'], + 'password' => Hash::make('bagbag'), + 'branch_id' => 1, + 'nik' => '000000', + 'email_verified_at' => now(), + ] + ); + + $role = \Spatie\Permission\Models\Role::firstOrCreate( + ['name' => $roleData['name']], + ['guard_name' => 'web'] + ); $user->assignRole($role); } } } +}