$permission]); } // Create roles with permissions $adminRole = Role::firstOrCreate(['name' => 'admin']); $adminRole->syncPermissions($permissions); $employeeRole = Role::firstOrCreate(['name' => 'employee']); $employeeRole->syncPermissions(['users.view']); $customerRole = Role::firstOrCreate(['name' => 'customer']); // Create default admin user $admin = User::firstOrCreate( ['email' => 'admin@gsb-cons.com'], [ 'name' => 'System Admin', 'password' => bcrypt('password'), 'user_type' => 'admin', 'status' => 'active', ] ); $admin->assignRole('admin'); $profile = EmployeeProfile::firstOrCreate( ['user_id' => $admin->id], [ 'department' => 'Administration', 'position' => 'System Administrator', 'employee_code' => 'EMP-0001', 'hire_date' => now(), ] ); $admin->update([ 'userable_type' => EmployeeProfile::class, 'userable_id' => $profile->id, ]); } }