'admin'], //['description' => 'Administrador del sistema'] ); // Obtener o crear todos los permisos existentes $permissions = Permission::all(); if ($permissions->isEmpty()) { // Crear permisos básicos si no existen $permissions = collect([ 'view projects', 'edit projects', 'delete projects', 'view roles', 'create roles', 'edit roles', 'delete roles', 'view permissions', 'create permissions', 'edit permissions', 'delete permissions', 'assign permissions', 'revoke permissions', ])->map(function ($permission) { return Permission::updateOrCreate( ['name' => $permission], ['guard_name' => 'web'] ); }); } // Sincronizar todos los permisos con el rol admin $allPermissions = Permission::all(); $adminRole->syncPermissions($allPermissions); $adminRole->syncPermissions($permissions); // Crear usuario admin si no existe /*User::updateOrCreate( ['email' => env('ADMIN_EMAIL', 'admin@example.com')], [ 'name' => 'Administrador', 'password' => bcrypt(env('ADMIN_PASSWORD', 'password')), 'email_verified_at' => now() ] )->assignRole($adminRole);*/ $adminEmail = env('ADMIN_EMAIL', 'admin@example.com'); $user = User::where('email', $adminEmail)->first(); if ($user) { // Asignar rol solo si no lo tiene if (!$user->hasRole($adminRole)) { $user->assignRole($adminRole); } } else { // Crear solo si no existe User::create([ 'name' => 'admin', 'email' => $adminEmail, 'password' => bcrypt(env('ADMIN_PASSWORD', '12345678')), 'email_verified_at' => now() ])->assignRole($adminRole); } } }