cotizaweb/database/seeders/RolesPermisosSeeder.php
jesusfb 161fcee049
Some checks are pending
Deploy to EC2 cotiza / deploy (push) Waiting to run
first commit
2026-04-24 12:53:27 -07:00

65 lines
1.8 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
class RolesPermisosSeeder extends Seeder
{
public function run()
{
// ---- PERMISOS BASE ----
$permisos = [
'ver_clientes',
'crear_clientes',
'editar_clientes',
'eliminar_clientes',
'ver_productos',
'crear_productos',
'editar_productos',
'eliminar_productos',
'ver_cotizaciones',
'crear_cotizaciones',
'aprobar_cotizaciones',
];
foreach ($permisos as $permiso) {
Permission::firstOrCreate(['name' => $permiso]);
}
// ---- ROLES ----
$superAdmin = Role::firstOrCreate(['name' => 'super-admin']);
$companyAdmin = Role::firstOrCreate(['name' => 'company-admin']);
$vendedor = Role::firstOrCreate(['name' => 'vendedor']);
$visualizador = Role::firstOrCreate(['name' => 'visualizador']);
// Super admin tiene TODO
$superAdmin->syncPermissions(Permission::all());
// Company admin (todo menos eliminar)
$companyAdmin->syncPermissions([
'ver_clientes','crear_clientes','editar_clientes',
'ver_productos','crear_productos','editar_productos',
'ver_cotizaciones','crear_cotizaciones','aprobar_cotizaciones',
]);
// Vendedor
$vendedor->syncPermissions([
'ver_clientes','crear_clientes',
'ver_productos',
'ver_cotizaciones','crear_cotizaciones',
]);
// Visualizador
$visualizador->syncPermissions([
'ver_clientes',
'ver_productos',
'ver_cotizaciones',
]);
}
}