Refactor: Permisos y roles, creacion de permisos y roles
This commit is contained in:
parent
07ab94e83d
commit
cba5571eb9
@ -14,9 +14,9 @@
|
||||
|
||||
/**
|
||||
* Roles del sistema
|
||||
*
|
||||
*
|
||||
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
||||
*
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class RoleController extends Controller
|
||||
@ -26,7 +26,7 @@ class RoleController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$model = Role::orderBy('description');
|
||||
$model = Role::orderBy('description')->where('description', '!=', 'desarrollador');
|
||||
|
||||
QuerySupport::queryByKey($model, request(), 'name');
|
||||
|
||||
|
||||
@ -15,11 +15,11 @@
|
||||
|
||||
/**
|
||||
* Controlador de usuarios
|
||||
*
|
||||
*
|
||||
* Permite la administración de los usuarios en general.
|
||||
*
|
||||
*
|
||||
* @author Moisés Cortés C <moises.cortes@notsoweb.com>
|
||||
*
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class UserController extends Controller
|
||||
@ -29,7 +29,7 @@ class UserController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$users = User::orderBy('name');
|
||||
$users = User::orderBy('id', 'DESC')->where('id', '!=', 1);
|
||||
|
||||
QuerySupport::queryByKeys($users, ['name', 'email']);
|
||||
|
||||
@ -152,7 +152,7 @@ public function activity(UserActivityRequest $request, User $user)
|
||||
}
|
||||
|
||||
return ApiResponse::OK->response([
|
||||
'models' =>
|
||||
'models' =>
|
||||
$model->orderBy('created_at', 'desc')
|
||||
->paginate(config('app.pagination'))
|
||||
]);
|
||||
|
||||
2060
composer.lock
generated
2060
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -11,9 +11,9 @@
|
||||
|
||||
/**
|
||||
* Roles y permisos
|
||||
*
|
||||
*
|
||||
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
||||
*
|
||||
*
|
||||
* @version 1.0.0
|
||||
*/
|
||||
class RoleSeeder extends Seeder
|
||||
@ -25,7 +25,7 @@ class RoleSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$users = PermissionType::create([
|
||||
$users = PermissionType::firstOrCreate([
|
||||
'name' => 'Usuarios'
|
||||
]);
|
||||
|
||||
@ -39,7 +39,7 @@ public function run(): void
|
||||
$userSettings = $this->onPermission('users.settings', 'Configuración de usuarios', $users, 'api');
|
||||
$userOnline = $this->onPermission('users.online', 'Usuarios en linea', $users, 'api');
|
||||
|
||||
$roles = PermissionType::create([
|
||||
$roles = PermissionType::firstOrCreate([
|
||||
'name' => 'Roles'
|
||||
]);
|
||||
|
||||
@ -50,35 +50,48 @@ public function run(): void
|
||||
$roleDestroy
|
||||
] = $this->onCRUD('roles', $roles, 'api');
|
||||
|
||||
$pulse = PermissionType::create([
|
||||
'name' => 'Sistema'
|
||||
// Arcos
|
||||
$arcos = PermissionType::firstOrCreate([
|
||||
'name' => 'Gestión de Arcos'
|
||||
]);
|
||||
|
||||
$systemPulse = $this->onPermission('pulse', 'Monitoreo de Pulse', $pulse, 'api');
|
||||
[
|
||||
$arcoIndex,
|
||||
$arcoCreate,
|
||||
$arcoEdit,
|
||||
$arcoDestroy
|
||||
] = $this->onCRUD('arcos', $arcos, 'api');
|
||||
|
||||
$pulse = PermissionType::create([
|
||||
'name' => 'Historial de actividades'
|
||||
$arcosToggleEstado = $this->onPermission('arcos.toggle-estado', 'Activar/Desactivar arcos', $arcos, 'api');
|
||||
$arcosDetecciones = $this->onPermission('arcos.detecciones.dia', 'Ver detecciones del día de un arco', $arcos, 'api');
|
||||
|
||||
//Consulta de vehículo
|
||||
$vehicles = PermissionType::firstOrCreate([
|
||||
'name' => 'Gestión de Vehículos'
|
||||
]);
|
||||
|
||||
$activityIndex = $this->onIndex(
|
||||
code: 'activities',
|
||||
type: $pulse,
|
||||
guardName: 'api'
|
||||
);
|
||||
$vehiclesConsulta = $this->onPermission('vehicles.consultar', 'Consultar vehículo por placa o VIN', $vehicles, 'api');
|
||||
$vehiclesRecuperar = $this->onPermission('vehicles.recuperar', 'Marcar vehículo como recuperado', $vehicles, 'api');
|
||||
$vehiclesDetectar = $this->onPermission('vehicles.detectar', 'Buscar vehículo por placa o VIN', $vehicles, 'api');
|
||||
$vehiclesRobados = $this->onPermission('vehicles.robados', 'Listar vehículos robados', $vehicles, 'api');
|
||||
$vehiclesRecuperados = $this->onPermission('vehicles.recuperados', 'Listar vehículos recuperados', $vehicles, 'api');
|
||||
$vehiclesDetecciones = $this->onPermission('vehicles.detecciones', 'Listar todas las detecciones', $vehicles, 'api');
|
||||
|
||||
|
||||
|
||||
// Desarrollador
|
||||
Role::create([
|
||||
Role::firstOrCreate([
|
||||
'name' => 'developer',
|
||||
'description' => 'Desarrollador',
|
||||
'guard_name' => 'api'
|
||||
])->givePermissionTo(Permission::all());
|
||||
])->syncPermissions(Permission::all());
|
||||
|
||||
// Administrador
|
||||
Role::create([
|
||||
Role::firstOrCreate([
|
||||
'name' => 'admin',
|
||||
'description' => 'Administrador',
|
||||
'guard_name' => 'api'
|
||||
])->givePermissionTo(
|
||||
])->syncPermissions(
|
||||
$userIndex,
|
||||
$userCreate,
|
||||
$userEdit,
|
||||
@ -89,8 +102,48 @@ public function run(): void
|
||||
$roleCreate,
|
||||
$roleEdit,
|
||||
$roleDestroy,
|
||||
$systemPulse,
|
||||
$activityIndex
|
||||
$arcoIndex, //arcos
|
||||
$arcoCreate,
|
||||
$arcoEdit,
|
||||
$arcoDestroy,
|
||||
$arcosToggleEstado,
|
||||
$arcosDetecciones,
|
||||
$vehiclesConsulta, //vehicles
|
||||
$vehiclesRecuperar,
|
||||
$vehiclesDetectar,
|
||||
|
||||
);
|
||||
|
||||
Role::firstOrCreate([
|
||||
'name' => 'supervisor',
|
||||
'description' => 'Supervisor',
|
||||
'guard_name' => 'api'
|
||||
])->syncPermissions(
|
||||
$vehiclesConsulta, //vehicles
|
||||
$vehiclesRecuperar,
|
||||
$vehiclesDetectar,
|
||||
$vehiclesRobados,
|
||||
$vehiclesRecuperados,
|
||||
$vehiclesDetecciones
|
||||
);
|
||||
|
||||
Role::firstOrCreate([
|
||||
'name' => 'operador',
|
||||
'description' => 'Operador',
|
||||
'guard_name' => 'api'
|
||||
])->syncPermissions(
|
||||
$vehiclesConsulta, //vehicles
|
||||
$vehiclesDetectar,
|
||||
$vehiclesRobados,
|
||||
$vehiclesRecuperados,
|
||||
$vehiclesDetecciones
|
||||
);
|
||||
|
||||
Role::firstOrCreate([
|
||||
'name' => 'investigador',
|
||||
'description' => 'Investigador',
|
||||
'guard_name' => 'api'
|
||||
])->syncPermissions(
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user