53 lines
1.6 KiB
PHP
53 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Spatie\Permission\Models\Role;
|
|
|
|
class UserSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
// Pobieramy istniejące role
|
|
$adminRole = Role::where('name', 'admin')->first();
|
|
$kierownikRole = Role::where('name', 'kierownik')->first();
|
|
$pracownikRole = Role::where('name', 'pracownik')->first();
|
|
|
|
// 1. Domyślne konta testowe
|
|
$admin = User::factory()->create([
|
|
'name' => 'Json',
|
|
'surname' => 'John',
|
|
'email' => 'a@a.com',
|
|
'password' => Hash::make('123'),
|
|
]);
|
|
$admin->assignRole($adminRole);
|
|
|
|
$kierownik = User::factory()->create([
|
|
'name' => 'Krzysztof',
|
|
'surname' => 'Kierownik',
|
|
'email' => 'k@k.com',
|
|
'password' => Hash::make('123'),
|
|
]);
|
|
$kierownik->assignRole($kierownikRole);
|
|
|
|
$pracownik = User::factory()->create([
|
|
'name' => 'Piotr',
|
|
'surname' => 'Pracownik',
|
|
'email' => 'p@p.com',
|
|
'password' => Hash::make('123'),
|
|
]);
|
|
$pracownik->assignRole($pracownikRole);
|
|
|
|
// 2. Generowanie dodatkowych 30 losowych użytkowników z rolami (password = 'password')
|
|
User::factory(300)->create()->each(function ($user) use ($pracownikRole, $kierownikRole) {
|
|
$role = rand(1, 100) <= 80 ? $pracownikRole : $kierownikRole;
|
|
$user->assignRole($role);
|
|
});
|
|
}
|
|
} |