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
|
* Roles del sistema
|
||||||
*
|
*
|
||||||
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
||||||
*
|
*
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
*/
|
*/
|
||||||
class RoleController extends Controller
|
class RoleController extends Controller
|
||||||
@ -26,7 +26,7 @@ class RoleController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$model = Role::orderBy('description');
|
$model = Role::orderBy('description')->where('description', '!=', 'desarrollador');
|
||||||
|
|
||||||
QuerySupport::queryByKey($model, request(), 'name');
|
QuerySupport::queryByKey($model, request(), 'name');
|
||||||
|
|
||||||
|
|||||||
@ -15,11 +15,11 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Controlador de usuarios
|
* Controlador de usuarios
|
||||||
*
|
*
|
||||||
* Permite la administración de los usuarios en general.
|
* Permite la administración de los usuarios en general.
|
||||||
*
|
*
|
||||||
* @author Moisés Cortés C <moises.cortes@notsoweb.com>
|
* @author Moisés Cortés C <moises.cortes@notsoweb.com>
|
||||||
*
|
*
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
*/
|
*/
|
||||||
class UserController extends Controller
|
class UserController extends Controller
|
||||||
@ -29,7 +29,7 @@ class UserController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$users = User::orderBy('name');
|
$users = User::orderBy('id', 'DESC')->where('id', '!=', 1);
|
||||||
|
|
||||||
QuerySupport::queryByKeys($users, ['name', 'email']);
|
QuerySupport::queryByKeys($users, ['name', 'email']);
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ public function activity(UserActivityRequest $request, User $user)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return ApiResponse::OK->response([
|
return ApiResponse::OK->response([
|
||||||
'models' =>
|
'models' =>
|
||||||
$model->orderBy('created_at', 'desc')
|
$model->orderBy('created_at', 'desc')
|
||||||
->paginate(config('app.pagination'))
|
->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
|
* Roles y permisos
|
||||||
*
|
*
|
||||||
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
* @author Moisés Cortés C. <moises.cortes@notsoweb.com>
|
||||||
*
|
*
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
*/
|
*/
|
||||||
class RoleSeeder extends Seeder
|
class RoleSeeder extends Seeder
|
||||||
@ -25,7 +25,7 @@ class RoleSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$users = PermissionType::create([
|
$users = PermissionType::firstOrCreate([
|
||||||
'name' => 'Usuarios'
|
'name' => 'Usuarios'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ public function run(): void
|
|||||||
$userSettings = $this->onPermission('users.settings', 'Configuración de usuarios', $users, 'api');
|
$userSettings = $this->onPermission('users.settings', 'Configuración de usuarios', $users, 'api');
|
||||||
$userOnline = $this->onPermission('users.online', 'Usuarios en linea', $users, 'api');
|
$userOnline = $this->onPermission('users.online', 'Usuarios en linea', $users, 'api');
|
||||||
|
|
||||||
$roles = PermissionType::create([
|
$roles = PermissionType::firstOrCreate([
|
||||||
'name' => 'Roles'
|
'name' => 'Roles'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -50,35 +50,48 @@ public function run(): void
|
|||||||
$roleDestroy
|
$roleDestroy
|
||||||
] = $this->onCRUD('roles', $roles, 'api');
|
] = $this->onCRUD('roles', $roles, 'api');
|
||||||
|
|
||||||
$pulse = PermissionType::create([
|
// Arcos
|
||||||
'name' => 'Sistema'
|
$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([
|
$arcosToggleEstado = $this->onPermission('arcos.toggle-estado', 'Activar/Desactivar arcos', $arcos, 'api');
|
||||||
'name' => 'Historial de actividades'
|
$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(
|
$vehiclesConsulta = $this->onPermission('vehicles.consultar', 'Consultar vehículo por placa o VIN', $vehicles, 'api');
|
||||||
code: 'activities',
|
$vehiclesRecuperar = $this->onPermission('vehicles.recuperar', 'Marcar vehículo como recuperado', $vehicles, 'api');
|
||||||
type: $pulse,
|
$vehiclesDetectar = $this->onPermission('vehicles.detectar', 'Buscar vehículo por placa o VIN', $vehicles, 'api');
|
||||||
guardName: '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
|
// Desarrollador
|
||||||
Role::create([
|
Role::firstOrCreate([
|
||||||
'name' => 'developer',
|
'name' => 'developer',
|
||||||
'description' => 'Desarrollador',
|
'description' => 'Desarrollador',
|
||||||
'guard_name' => 'api'
|
'guard_name' => 'api'
|
||||||
])->givePermissionTo(Permission::all());
|
])->syncPermissions(Permission::all());
|
||||||
|
|
||||||
// Administrador
|
// Administrador
|
||||||
Role::create([
|
Role::firstOrCreate([
|
||||||
'name' => 'admin',
|
'name' => 'admin',
|
||||||
'description' => 'Administrador',
|
'description' => 'Administrador',
|
||||||
'guard_name' => 'api'
|
'guard_name' => 'api'
|
||||||
])->givePermissionTo(
|
])->syncPermissions(
|
||||||
$userIndex,
|
$userIndex,
|
||||||
$userCreate,
|
$userCreate,
|
||||||
$userEdit,
|
$userEdit,
|
||||||
@ -89,8 +102,48 @@ public function run(): void
|
|||||||
$roleCreate,
|
$roleCreate,
|
||||||
$roleEdit,
|
$roleEdit,
|
||||||
$roleDestroy,
|
$roleDestroy,
|
||||||
$systemPulse,
|
$arcoIndex, //arcos
|
||||||
$activityIndex
|
$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