Files
oauth/database/seeders/RolesAndPermissionsSeeder.php
2026-07-27 17:20:02 +02:00

28 lines
867 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', 'audit.view'] as $permission) {
Permission::findOrCreate($permission);
}
$admin = Role::findOrCreate('admin');
$admin->syncPermissions(Permission::all());
Role::findOrCreate('user');
}
}