funciones partidas

This commit is contained in:
lemuel 2022-10-17 11:49:59 -05:00
parent e397bfb6cc
commit 85b9709ecb

View File

@ -5,6 +5,7 @@ import {
} from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import { Operador } from '../operador/entity/operador.entity';
import { Usuario } from '../usuario/entity/usuario.entity';
import { BcryptService } from '../bcrypt/bcrypt.service';
import { ModuloService } from '../modulo/modulo.service';
import { OperadorService } from '../operador/operador.service';
@ -26,20 +27,18 @@ export class AuthService {
loginAdmin(admin: string, password: string) {
return this.operadorService.findInfoOperadorAdmin(admin).then((admin) => {
this.validacionBasica(admin, password);
this.validacionOperador(admin);
const JwtPayload: JwtPayloadAdmin = {
Operador: {
id_operador: admin.id_operador,
operador: admin.operador,
nombre: admin.nombre,
institucion: {
id_institucion: admin.institucion.id_institucion,
},
tipoUsuario: {
id_tipo_usuario: admin.tipoUsuario.id_tipo_usuario,
},
institucion: { id_institucion: admin.institucion.id_institucion },
tipoUsuario: { id_tipo_usuario: admin.tipoUsuario.id_tipo_usuario },
},
};
return { token: this.jwtService.sign(JwtPayload) };
});
}
@ -51,6 +50,7 @@ export class AuthService {
.findInfoOperador(modulo.institucion, operador)
.then((operador) => {
this.validacionBasica(operador, password);
this.validacionOperador(operador);
const JwtPayload: JwtPayloadOperador = {
Operador: {
@ -78,13 +78,7 @@ export class AuthService {
.then((usuario) => {
if (usuario && !usuario.password)
throw new BadRequestException('Este usuario no ha sido registrado.');
if (
!usuario ||
!this.bcryptService.comparar(password, usuario.password)
)
throw new BadRequestException(
'Usuario y/o password incorrectos, ingresa unas credenciales válidas.',
);
this.validacionBasica(usuario, password);
const JwtPayload: JwtPayloadUsuario = {
Usuario: {
@ -101,11 +95,22 @@ export class AuthService {
});
}
private validacionBasica(operador: Operador, password: string) {
if (!operador || !this.bcryptService.comparar(password, operador.password))
private validacionBasica(
operadorUsuario: Operador | Usuario,
password: string,
) {
// Valido que el operador o usuario existan y que el password sea el correcto
if (
!operadorUsuario ||
!this.bcryptService.comparar(password, operadorUsuario.password)
)
throw new BadRequestException(
'Usuario y/o password incorrectos, ingresa unas credenciales válidas.',
);
}
private validacionOperador(operador: Operador) {
// Valido que el operador este activo
if (!operador.activo)
throw new UnauthorizedException('Esta cuenta se encuentra desactivada.');
}