add new users on seeder for role user and superadmin
This commit is contained in:
@@ -16,7 +16,7 @@ class UsersRoleMenuSeeder extends Seeder
|
||||
public function run(): void
|
||||
{
|
||||
// Fetch roles in a single query
|
||||
$roles = Role::whereIn('name', ['superadmin', 'admin', 'operator'])->get()->keyBy('name');
|
||||
$roles = Role::whereIn('name', ['superadmin', 'user', 'operator'])->get()->keyBy('name');
|
||||
|
||||
// Fetch all menus in a single query and index by name
|
||||
$menus = Menu::whereIn('name', [
|
||||
@@ -38,13 +38,18 @@ class UsersRoleMenuSeeder extends Seeder
|
||||
'Luar Sistem', 'Lap Pimpinan', 'Chat', 'Google Sheets', 'TPA TPT', 'Approval Pejabat',
|
||||
'Undangan', 'Rekap Pembayaran', 'Lap Rekap Data Pembayaran', 'Lap PBG (PTSP)'
|
||||
],
|
||||
'admin' => ['Dashboard', 'Master', 'Settings'],
|
||||
'user' => ['Dashboard', 'Data', 'Laporan', 'Neng Bedas',
|
||||
'Approval', 'Tools', 'Dashboard Pimpinan', 'Dashboard PBG', 'Users', 'Syncronize',
|
||||
'Menu', 'Role', 'Setting Dashboard', 'PBG', 'Reklame', 'Usaha atau Industri', 'Pariwisata',
|
||||
'Lap Pariwisata', 'UMKM', 'Dashboard Potensi', 'Tata Ruang', 'PDAM', 'Dalam Sistem',
|
||||
'Luar Sistem', 'Lap Pimpinan', 'Chat', 'Google Sheets', 'TPA TPT', 'Approval Pejabat',
|
||||
'Undangan', 'Rekap Pembayaran', 'Lap Rekap Data Pembayaran', 'Lap PBG (PTSP)'],
|
||||
'operator' => ['Dashboard', 'Data', 'Laporan']
|
||||
];
|
||||
|
||||
// Define permission levels
|
||||
$superadminPermissions = ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true];
|
||||
$adminPermissions = ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true];
|
||||
$userPermissions = ["allow_show" => true, "allow_create" => false, "allow_update" => false, "allow_destroy" => false];
|
||||
$operatorPermissions = ["allow_show" => true, "allow_create" => false, "allow_update" => false, "allow_destroy" => false];
|
||||
|
||||
// Assign menus to roles
|
||||
@@ -54,13 +59,19 @@ class UsersRoleMenuSeeder extends Seeder
|
||||
$role->menus()->sync(
|
||||
collect($menuNames)->mapWithKeys(fn($menuName) => [
|
||||
$menus[$menuName]->id => ($roleName === 'superadmin' ? $superadminPermissions :
|
||||
($roleName === 'admin' ? $adminPermissions : $operatorPermissions))
|
||||
($roleName === 'operator' ? $operatorPermissions : $userPermissions))
|
||||
])->toArray()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Attach User to role super admin
|
||||
User::findOrFail(1)->roles()->sync([$roles['superadmin']->id]);
|
||||
$accountSuperadmin = User::where('email', 'superadmin@sibedas.com')->first();
|
||||
$accountUser = User::where('email', 'user@sibedas.com')->first();
|
||||
$accountDefault = User::where('email','user@demo.com')->first();
|
||||
$accountSuperadmin->roles()->sync([$roles['superadmin']->id]);
|
||||
$accountUser->roles()->sync([$roles['user']->id]);
|
||||
$accountDefault->roles()->sync([$roles['user']->id]);
|
||||
// User::findOrFail(1)->roles()->sync([$roles['superadmin']->id]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user