From 04f2f2948b9c7a5d47e195f40d01cda8b2f51466 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Mon, 24 Oct 2022 18:15:09 -0500 Subject: [PATCH] usuario listo --- src/auth/auth.service.ts | 38 +++++++++++------------ src/auth/strategy/jwt-strategy.service.ts | 2 +- src/multa/multa.service.ts | 4 +-- src/prestamo/prestamo.service.ts | 2 +- src/upload-file/upload-file.service.ts | 2 +- src/usuario/dto/input/registrar.dto.ts | 1 - src/usuario/usuario.controller.ts | 16 ++++++---- src/usuario/usuario.service.ts | 14 +++++---- 8 files changed, 41 insertions(+), 38 deletions(-) diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts index 5a70c26..7f2abb0 100644 --- a/src/auth/auth.service.ts +++ b/src/auth/auth.service.ts @@ -77,29 +77,27 @@ export class AuthService { } loginUsuario(usuario: string, password: string) { - return this.usuarioService - .findInfoUsuarioByUsuario(usuario) - .then((usuario) => { - // Sin password = no registrado, valida que este registrado - if (usuario && !usuario.password) - throw new BadRequestException('Este usuario no ha sido registrado.'); - this.validacionBasica(usuario, password); + return this.usuarioService.findByUsuario(usuario).then((usuario) => { + // Sin password = no registrado, valida que este registrado + if (usuario && !usuario.password) + throw new BadRequestException('Este usuario no ha sido registrado.'); + this.validacionBasica(usuario, password); - // Creo payload apartir de la interface que le corresponde a este tipo de usaurio - const JwtPayload: JwtPayloadUsuario = { - Usuario: { - id_usuario: usuario.id_usuario, - usuario: usuario.usuario, - nombre: usuario.nombre, - tipoUsuario: { - id_tipo_usuario: usuario.tipoUsuario.id_tipo_usuario, - }, + // Creo payload apartir de la interface que le corresponde a este tipo de usaurio + const JwtPayload: JwtPayloadUsuario = { + Usuario: { + id_usuario: usuario.id_usuario, + usuario: usuario.usuario, + nombre: usuario.nombre, + tipoUsuario: { + id_tipo_usuario: usuario.tipoUsuario.id_tipo_usuario, }, - }; + }, + }; - // "Firmo"/creo el token - return { token: this.jwtService.sign(JwtPayload) }; - }); + // "Firmo"/creo el token + return { token: this.jwtService.sign(JwtPayload) }; + }); } private validacionBasica( diff --git a/src/auth/strategy/jwt-strategy.service.ts b/src/auth/strategy/jwt-strategy.service.ts index 90e88a1..67a0009 100644 --- a/src/auth/strategy/jwt-strategy.service.ts +++ b/src/auth/strategy/jwt-strategy.service.ts @@ -39,7 +39,7 @@ export class JwtStrategyService extends PassportStrategy(Strategy) { if ('Usuario' in payload) // Buscar a ese usuario en la db y lo asigna al objeto user await this.usuarioService - .findInfoUsuarioById(payload.Usuario.id_usuario) + .findById(payload.Usuario.id_usuario) .then((usuario) => (user.usuario = usuario)); // Si el token contiene un objeto Operador en el else if ('Operador' in payload) diff --git a/src/multa/multa.service.ts b/src/multa/multa.service.ts index a7aa9df..f227c82 100644 --- a/src/multa/multa.service.ts +++ b/src/multa/multa.service.ts @@ -185,7 +185,7 @@ export class MultaService { } findAllByIdUsuario(id_usuario: number, pagina: number) { - return this.usuarioService.findInfoUsuarioById(id_usuario).then((usuario) => + return this.usuarioService.findById(id_usuario).then((usuario) => this.fullInformacionMultaView .findAndCount({ where: { id_usuario: usuario.id_usuario }, @@ -205,7 +205,7 @@ export class MultaService { } findMultasActivas(id_usuario: number) { - return this.usuarioService.findInfoUsuarioById(id_usuario).then((usuario) => + return this.usuarioService.findById(id_usuario).then((usuario) => this.repository .createQueryBuilder('mu') .innerJoin('mu.prestamo', 'p') diff --git a/src/prestamo/prestamo.service.ts b/src/prestamo/prestamo.service.ts index bca82f1..41bb318 100644 --- a/src/prestamo/prestamo.service.ts +++ b/src/prestamo/prestamo.service.ts @@ -340,7 +340,7 @@ export class PrestamoService { findAllByIdUsuario(id_usuario: number, pagina: number) { return this.usuarioService - .findInfoUsuarioById(id_usuario) + .findById(id_usuario) .then((usuario) => this.fullInformacionPrestamoView.findAndCount({ where: { id_usuario: usuario.id_usuario }, diff --git a/src/upload-file/upload-file.service.ts b/src/upload-file/upload-file.service.ts index bddffb5..9c7af87 100644 --- a/src/upload-file/upload-file.service.ts +++ b/src/upload-file/upload-file.service.ts @@ -373,7 +373,7 @@ export class UploadFileService { dataUsuario.tipo_usuario, false, ); - const usuario = await this.usuarioService.findInfoUsuarioByUsuario( + const usuario = await this.usuarioService.findByUsuario( dataUsuario.numero_cuenta, ); const carrera = diff --git a/src/usuario/dto/input/registrar.dto.ts b/src/usuario/dto/input/registrar.dto.ts index ed98cc2..a2e6fda 100644 --- a/src/usuario/dto/input/registrar.dto.ts +++ b/src/usuario/dto/input/registrar.dto.ts @@ -8,7 +8,6 @@ import { export class RegistrarUsuarioInputDto { @IsInt() - @IsOptional() id_institucion_carrera: number; @IsPhoneNumber('MX') diff --git a/src/usuario/usuario.controller.ts b/src/usuario/usuario.controller.ts index 6245352..ac1320a 100644 --- a/src/usuario/usuario.controller.ts +++ b/src/usuario/usuario.controller.ts @@ -47,7 +47,14 @@ export class UsuarioController { description: 'Todas la variables a excepción de id_usuario son obligatorias.', examples: { - ejemplo: { value: { id_usuario: 1, telefono: '', correo: '' } }, + ejemplo: { + value: { + id_institucion_carrera: 1, + telefono: '', + correo: '', + usuario: '', + }, + }, }, }) registrar(@Body() body: RegistrarUsuarioInputDto) { @@ -72,8 +79,8 @@ export class UsuarioController { examples: { ejemplo: { value: { - correo: '', id_usuario: 1, + correo: '', telefono: '', }, }, @@ -120,10 +127,7 @@ export class UsuarioController { const operador: Operador = req.user.operador; this.validarUsuarioService.validarAdminOperador(operador); - return this.usuarioService.findFullInfoUsuarioByUsuario( - operador, - query.usuario, - ); + return this.usuarioService.findFullInfoByUsuario(operador, query.usuario); } @Serealize(UsuariosOutputDto) diff --git a/src/usuario/usuario.service.ts b/src/usuario/usuario.service.ts index 646f1e1..2ec08a4 100644 --- a/src/usuario/usuario.service.ts +++ b/src/usuario/usuario.service.ts @@ -121,7 +121,7 @@ export class UsuarioService { return query.getManyAndCount(); } - findFullInfoUsuarioByUsuario(operador: Operador, usuario: string) { + findFullInfoByUsuario(operador: Operador, usuario: string) { return this.fullInformacionUsuarioView .findOne({ where: { usuario } }) .then(async (infoUsuario) => { @@ -155,7 +155,7 @@ export class UsuarioService { }); } - findInfoUsuarioById(id_usuario: number) { + findById(id_usuario: number) { return this.repository .findOne({ select: { @@ -174,7 +174,7 @@ export class UsuarioService { }); } - findInfoUsuarioByUsuario(usuario: string, rfc?: string) { + findByUsuario(usuario: string, rfc?: string) { const busqueda: FindOptionsWhere = { usuario }; if (rfc) busqueda.rfc = rfc; @@ -195,7 +195,7 @@ export class UsuarioService { // Genero password const password = this.bcryptService.generarPassword(); - return this.findInfoUsuarioById(id_usuario) + return this.findById(id_usuario) .then((usuario) => { // Solo se puede actualizar password si no esta registrado, password = registro if (!usuario.password) @@ -234,7 +234,7 @@ export class UsuarioService { let message: string; // Busco usuario - return this.findInfoUsuarioByUsuario(usuario, rfc) + return this.findByUsuario(usuario, rfc) .then(async (existeUsuario) => { // Ai no existe o tiene contraseña, es decir que esta registrado, saca error if (!existeUsuario || existeUsuario.password) @@ -286,7 +286,7 @@ export class UsuarioService { } update(operador: Operador, attrs: Partial) { - return this.findInfoUsuarioById(attrs.id_usuario) + return this.findById(attrs.id_usuario) .then(async (usuario) => { const institucionesUsuario = await this.institucionUsuarioService.findAllByIdUsuarioIdInstitucion( @@ -299,7 +299,9 @@ export class UsuarioService { throw new ConflictException( 'Este usuario no pertenece a tu institución.', ); + // Asingo los datos enviados al bojeto Object.assign(usuario, attrs); + // Guardar return this.repository.save(usuario); }) .then((_) => ({ message: 'Se guardaron los cambios correctamente.' }));