43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Division;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class UserSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$divisions = Division::pluck('id')->toArray();
|
|
|
|
// super_admin
|
|
User::factory()->createOne([
|
|
'name' => 'Super Admin',
|
|
'email' => 'admin@admin.com',
|
|
'password' => bcrypt('admin'),
|
|
'phone' => '08123456789',
|
|
'status' => 'aktif',
|
|
])->assignRole('super_admin');
|
|
|
|
// 2 user per role
|
|
foreach (['ketua', 'bendahara', 'pengurus', 'auditor', 'anggota'] as $role) {
|
|
User::factory(2)->create(['division_id' => fake()->randomElement($divisions)])
|
|
->each(fn ($user) => $user->assignRole($role));
|
|
}
|
|
|
|
// 1 editor
|
|
User::factory()->createOne([
|
|
'name' => 'Editor Konten',
|
|
'email' => 'editor@persegi.test',
|
|
'password' => bcrypt('password'),
|
|
'status' => 'aktif',
|
|
'division_id' => fake()->randomElement($divisions),
|
|
])->assignRole('editor');
|
|
|
|
// 2 user tanpa role
|
|
User::factory(2)->create(['division_id' => fake()->randomElement($divisions)]);
|
|
}
|
|
}
|