$permission, 'guard_name' => 'web'], ); } $adminRole = Role::firstOrCreate(['name' => 'super-admin', 'guard_name' => 'web']); $assetManager = Role::firstOrCreate(['name' => 'asset-manager', 'guard_name' => 'web']); $auditor = Role::firstOrCreate(['name' => 'auditor', 'guard_name' => 'web']); $maintenance = Role::firstOrCreate(['name' => 'maintenance', 'guard_name' => 'web']); $viewer = Role::firstOrCreate(['name' => 'viewer', 'guard_name' => 'web']); $adminRole->syncPermissions($permissions); $assetManager->syncPermissions([ 'assets.view', 'assets.manage', 'movements.manage', 'disposals.manage', 'maintenance.manage', 'audits.manage', 'reports.view', 'approvals.manage', ]); $auditor->syncPermissions([ 'assets.view', 'audits.manage', 'reports.view', ]); $maintenance->syncPermissions([ 'assets.view', 'maintenance.manage', 'movements.manage', 'reports.view', ]); $viewer->syncPermissions([ 'assets.view', 'reports.view', ]); // Buat akun admin default bila belum ada. $admin = User::firstOrCreate( ['email' => 'admin@example.com'], [ 'name' => 'Administrator', 'password' => Hash::make('password123'), ] ); $admin->syncRoles(['super-admin']); } }