feat: add demo accounts for all 4 roles in seeder

This commit is contained in:
GuavaPopper
2026-06-02 19:55:25 +07:00
parent 3310efe77e
commit 38199d5860
2 changed files with 42 additions and 21 deletions
+7 -14
View File
@@ -55,19 +55,12 @@ Root password: root
## Default Login
After first run, akses `http://localhost:8000` dan login dengan:
Akses `http://localhost:8000` dan login dengan salah satu akun berikut:
```text
Email: admin@webgis.local
Password: admin123
```
## Roles yang Tersedia
| Role | Akses |
|---|---|
| `administrator` | Akses penuh |
| `pengurus_ibadah` | Kelola data rumah ibadah |
| `petugas_pendataan` | Input/edit data keluarga miskin |
| `pemangku_kebijakan` | View only |
| Email | Password | Role |
|---|---|---|
| `admin@webgis.local` | `admin123` | Administrator (akses penuh) |
| `pengurus@webgis.local` | `password123` | Pengurus Ibadah |
| `petugas@webgis.local` | `password123` | Petugas Pendataan |
| `kebijakan@webgis.local` | `password123` | Pemangku Kebijakan (view only) |
+35 -7
View File
@@ -21,14 +21,42 @@ class RolesAndAdminSeeder extends Seeder
Role::firstOrCreate(['name' => $name, 'guard_name' => 'web']);
}
$admin = User::firstOrCreate(
['email' => 'admin@webgis.local'],
$users = [
[
'name' => 'Administrator',
'password' => bcrypt('admin123'),
]
);
'email' => 'admin@webgis.local',
'name' => 'Administrator',
'role' => 'administrator',
'password' => 'admin123',
],
[
'email' => 'pengurus@webgis.local',
'name' => 'Pengurus Ibadah',
'role' => 'pengurus_ibadah',
'password' => 'password123',
],
[
'email' => 'petugas@webgis.local',
'name' => 'Petugas Pendataan',
'role' => 'petugas_pendataan',
'password' => 'password123',
],
[
'email' => 'kebijakan@webgis.local',
'name' => 'Pemangku Kebijakan',
'role' => 'pemangku_kebijakan',
'password' => 'password123',
],
];
$admin->syncRoles(['administrator']);
foreach ($users as $data) {
$user = User::firstOrCreate(
['email' => $data['email']],
[
'name' => $data['name'],
'password' => bcrypt($data['password']),
]
);
$user->syncRoles([$data['role']]);
}
}
}