arcos-backend/database/seeders/RoleSeeder.php
Moisés de Jesús Cortés Castellanos 4f01437bb5 ADD: Historial de cambios y correcciones menores
- ADD: Observador de roles
- ADD: Activar sesion en API
- ADD: Historial de cambios
2025-01-16 21:44:29 -06:00

97 lines
2.4 KiB
PHP

<?php namespace Database\Seeders;
/**
* @copyright (c) 2024 Notsoweb Software (https://notsoweb.com) - All Rights Reserved
*/
use App\Models\PermissionType;
use App\Models\Role;
use Illuminate\Database\Seeder;
use Notsoweb\LaravelCore\Traits\MySql\RolePermission;
use Spatie\Permission\Models\Permission;
/**
* Roles y permisos
*
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
*
* @version 1.0.0
*/
class RoleSeeder extends Seeder
{
use RolePermission;
/**
* Run the database seeds.
*/
public function run(): void
{
$users = PermissionType::create([
'name' => 'Usuarios'
]);
[
$userIndex,
$userCreate,
$userEdit,
$userDestroy
] = $this->onCRUD('users', $users, 'api');
$userSettings = $this->onPermission('users.settings', 'Configuración de usuarios', $users, 'api');
$userOnline = $this->onPermission('users.online', 'Usuarios en linea', $users, 'api');
$roles = PermissionType::create([
'name' => 'Roles'
]);
[
$roleIndex,
$roleCreate,
$roleEdit,
$roleDestroy
] = $this->onCRUD('roles', $roles, 'api');
$pulse = PermissionType::create([
'name' => 'Sistema'
]);
$systemPulse = $this->onPermission('pulse', 'Monitoreo de Pulse', $pulse, 'api');
$pulse = PermissionType::create([
'name' => 'Historial de actividades'
]);
$activityIndex = $this->onIndex(
code: 'activities',
type: $pulse,
guardName: 'api'
);
// Desarrollador
Role::create([
'name' => 'developer',
'description' => 'Desarrollador',
'guard_name' => 'api'
])->givePermissionTo(Permission::all());
// Administrador
Role::create([
'name' => 'admin',
'description' => 'Administrador',
'guard_name' => 'api'
])->givePermissionTo(
$userIndex,
$userCreate,
$userEdit,
$userDestroy,
$userSettings,
$userOnline,
$roleIndex,
$roleCreate,
$roleEdit,
$roleDestroy,
$systemPulse,
$activityIndex
);
}
}