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>
28 lines
853 B
PHP
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');
|
|
}
|
|
}
|