From 0635bb4c5ef570bcb813c1dcd02a48aaadb05c03 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Mon, 24 Oct 2022 17:15:23 -0500 Subject: [PATCH] listo operador --- src/operador/operador.controller.ts | 4 ++-- src/operador/operador.service.ts | 25 +++++++++++++++---------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/operador/operador.controller.ts b/src/operador/operador.controller.ts index c4775c2..e0aaa68 100644 --- a/src/operador/operador.controller.ts +++ b/src/operador/operador.controller.ts @@ -160,7 +160,7 @@ export class OperadorController { @ApiBearerAuth('jwt') @ApiBody({ description: 'Es obligatorio enviar el campo id_operador.', - examples: { ejemplo: { value: { id_operador: 4 } } }, + examples: { ejemplo: { value: { id_operador: 4, _password: '' } } }, }) passwordResset(@Request() req, @Body() body: UpdateOperadorDto) { const admin: Operador = req.user.operador; @@ -184,7 +184,7 @@ export class OperadorController { description: 'Todas las variables a excepción de id_operador son opcionales.', examples: { - ejemplo: { value: { id_operador: 3, _activo: true, _password: '' } }, + ejemplo: { value: { id_operador: 3, _activo: true } }, }, }) update(@Request() req, @Body() body: UpdateOperadorDto) { diff --git a/src/operador/operador.service.ts b/src/operador/operador.service.ts index 1605d9f..c8758a4 100644 --- a/src/operador/operador.service.ts +++ b/src/operador/operador.service.ts @@ -4,7 +4,14 @@ import { NotFoundException, } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { Between, FindOptionsWhere, Like, Not, Repository } from 'typeorm'; +import { + Between, + FindOptionsWhere, + Like, + MoreThan, + Not, + Repository, +} from 'typeorm'; import { Institucion } from '../institucion/entity/institucion.entity'; import { Operador } from './entity/operador.entity'; import { FullInformacionOperadorView } from './entity/views/full-informacion-operador.view'; @@ -118,18 +125,16 @@ export class OperadorService { parseInt(filtros.id_tipo_usuario), ) : null; - const busqueda: FindOptionsWhere = {}; + const busqueda: FindOptionsWhere = { + id_tipo_usuario: MoreThan(2), + }; if (filtros.operador) busqueda.operador = Like(`${filtros.operador}%`); if (institucion) busqueda.id_institucion = institucion.id_institucion; if (tipoUsuario) busqueda.id_tipo_usuario = tipoUsuario.id_tipo_usuario; return this.fullInformacionOperadorView .findAndCount({ - where: [ - busqueda, - { id_tipo_usuario: Not(1) }, - { id_tipo_usuario: Not(2) }, - ], + where: busqueda, take: 25, skip: (parseInt(filtros.pagina) - 1) * 25, }) @@ -153,7 +158,7 @@ export class OperadorService { }, }), ); - return [operadores]; + return [operadores, infoOperadores[1]]; }); } @@ -274,12 +279,12 @@ export class OperadorService { `El super admin solo puede modificar la infomración de los admins.`, ); if (admin.tipoUsuario.id_tipo_usuario === 3) { - // Valido admin no pueda modificar admins + // Valido que el admin no pueda modificar otro admin if (operador.tipoUsuario.id_tipo_usuario === 3) throw new ConflictException( `No puedes actualizar la información de otro admin.`, ); - // Valido que admin solo pueda modificar operadores de su institución + // Valido que el admin solo pueda modificar operadores de su institución if ( admin.institucion.id_institucion != operador.institucion.id_institucion )