Files
D1041231009-WebGIS-PovertyMap/database/seeders/RolesAndAdminSeeder.php
T
2026-06-02 19:55:25 +07:00

63 lines
1.7 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
class RolesAndAdminSeeder extends Seeder
{
public function run(): void
{
$roleNames = [
'administrator',
'pengurus_ibadah',
'petugas_pendataan',
'pemangku_kebijakan',
];
foreach ($roleNames as $name) {
Role::firstOrCreate(['name' => $name, 'guard_name' => 'web']);
}
$users = [
[
'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',
],
];
foreach ($users as $data) {
$user = User::firstOrCreate(
['email' => $data['email']],
[
'name' => $data['name'],
'password' => bcrypt($data['password']),
]
);
$user->syncRoles([$data['role']]);
}
}
}