usuario listo
This commit is contained in:
+18
-20
@@ -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(
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user