forgetCachedPermissions(); // Create permissions $permissions = [ 'view projects', 'create projects', 'edit projects', 'delete projects', 'assign users', 'upload layers', 'update progress', 'view reports', 'manage all' ]; foreach ($permissions as $perm) { Permission::firstOrCreate(['name' => $perm]); } // Create roles and assign permissions $admin = Role::firstOrCreate(['name' => 'Admin']); $admin->givePermissionTo(Permission::all()); $supervisor = Role::firstOrCreate(['name' => 'Supervisor']); $supervisor->givePermissionTo(['view projects', 'upload layers', 'update progress']); $consultor = Role::firstOrCreate(['name' => 'Consultor']); $consultor->givePermissionTo(['view projects', 'view reports']); $cliente = Role::firstOrCreate(['name' => 'Cliente']); $cliente->givePermissionTo(['view projects']); // Create default admin user $user = User::factory()->create([ 'name' => 'Admin User', 'email' => 'admin@email.com', 'password' => bcrypt('password'), ]); $user->assignRole('Admin'); } }