login de usuario mejorado

This commit is contained in:
2022-08-30 19:36:53 -05:00
parent 58cab72127
commit b4da40e915
5 changed files with 124 additions and 55 deletions
+10 -51
View File
@@ -77,57 +77,16 @@ export class AuthService {
}
loginUsuario(usuario: string, password: string) {
return this.usuarioService
.findByUsuario(usuario, false, false, true)
.then((usuario) => {
this.validarLogin(usuario, password);
const instituciones: {
id_institucion_usuario: number;
institucionCarrera: {
id_institucion_carrera: number;
institucion: { id_institucion: number };
carrera: { id_carrera: number };
};
}[] = [];
for (let i = 0; i < usuario.instituciones.length; i++)
if (
usuario.instituciones[i].activo &&
!usuario.instituciones[i].multa
)
instituciones.push({
id_institucion_usuario:
usuario.instituciones[i].id_institucion_usuario,
institucionCarrera: {
id_institucion_carrera:
usuario.instituciones[i].institucionCarrera
.id_institucion_carrera,
carrera: {
id_carrera:
usuario.instituciones[i].institucionCarrera.carrera
.id_carrera,
},
institucion: {
id_institucion:
usuario.instituciones[i].institucionCarrera.institucion
.id_institucion,
},
},
});
const payload: JwtPayload = {
id_usuario: usuario.id_usuario,
nombre: usuario.nombre,
usuario: usuario.usuario,
instituciones: instituciones,
tipoUsuario: {
id_tipo_usuario: usuario.tipoUsuario.id_tipo_usuario,
},
};
return { token: this.jwtService.sign(payload), usuario };
});
return this.usuarioService.informacionUsuario(usuario).then((data) => {
if (
!data.usuario ||
!this.bcryptService.comparar(password, data.password)
)
throw new UnauthorizedException(
'Usuario y/o password incorrectos, ingresa unas credenciales válidas.',
);
return { token: this.jwtService.sign(data.usuario) };
});
}
validarLogin(usuarioOperador: Usuario | Operador, password: string) {