Merge pull request 'refactor(usermanagement): streamline UsersSeeder by utilizing RolesSeeder and improving user creation logic' (#1) from new_adk into master

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2025-10-31 16:56:12 +07:00

View File

@@ -2,34 +2,41 @@
namespace Modules\Usermanagement\Database\Seeders; namespace Modules\Usermanagement\Database\Seeders;
use Faker\Generator;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Modules\Usermanagement\Models\User; use Modules\Usermanagement\Models\User;
use Spatie\Permission\Models\Role; use Modules\Usermanagement\Database\Seeders\RolesSeeder;
class UsersSeeder extends Seeder class UsersSeeder extends Seeder
{ {
/** /**
* Run the database seeds. * Run the database seeds.
*
* @return void
*/ */
public function run(Generator $faker) public function run(): void
{ {
$roles = Role::all(); $roleSeeder = new RolesSeeder();
$rolesData = $roleSeeder->data();
foreach ($roles as $role) { foreach ($rolesData as $roleData) {
$user = User::create([ if ($roleData['name'] === 'administrator') {
'name' => $role->name, $user = User::firstOrCreate(
'email' => $role->name . '@ag.co.id', ['email' => $roleData['name'] . '@ag.co.id'],
[
'name' => $roleData['name'],
'password' => Hash::make('bagbag'), 'password' => Hash::make('bagbag'),
'branch_id' => 1, 'branch_id' => 1,
'nik' => '000000', 'nik' => '000000',
'email_verified_at' => now(), 'email_verified_at' => now(),
]); ]
);
$role = \Spatie\Permission\Models\Role::firstOrCreate(
['name' => $roleData['name']],
['guard_name' => 'web']
);
$user->assignRole($role); $user->assignRole($role);
} }
} }
} }
}