Files
oauth/database/seeders/RolesAndPermissionsSeeder.php
Josep Piguillem c2b5291a74 Initial commit: OAuth IAM Laravel application
Laravel-based OAuth/IAM service with Passport, Vue 3 frontend, and
Docker Compose setup for local and production deployment.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-26 01:02:41 +02:00

28 lines
853 B
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
/**
* Roles y permisos base (admin/user + permisos "users.*"). Se ejecuta desde
* DatabaseSeeder y también en runtime cuando se registra el primer usuario
* de una instalación (ver AuthController::register) — así el flujo de
* "primer admin" funciona aunque nunca se haya corrido "db:seed" en producción.
*/
class RolesAndPermissionsSeeder extends Seeder
{
public function run(): void
{
foreach (['users.view', 'users.create', 'users.update', 'users.delete'] as $permission) {
Permission::findOrCreate($permission);
}
$admin = Role::findOrCreate('admin');
$admin->syncPermissions(Permission::all());
Role::findOrCreate('user');
}
}