Olá, depois de colocar await em frente ao compare, só me retorna "message": "Usuario ou senha inválido!" no postman, sendo a senha correta ou não.
const database = require("../models");
const {compare} = require("bcryptjs")
const {sign} = require("jsonwebtoken")
const jsonSecret = require("../config/jsonSecret")
// dto = "Data Transfer Object"usado para transportar os dados neste caso o login
class AuthService {
//criar função de usuario no login
async login(dto) {
const usuario = await database.Usuarios.findOne({
attributes: ["id", "email", "senha"],
where: {
email: dto.email,
},
});
if (!usuario) {
throw new Error("usuario não cadastrado!");
}
//verificando senha
//compare retorna um valor booleano sendo true ou false
const senhaIguais = await compare(dto.senha, usuario.senha)
if(!senhaIguais){
throw new Error('Usuario ou senha inválido!')
}
//autenticação- sign tem 3 infos payload secret e options
const accessToken = sign({
id: usuario.id,
email: usuario.email
}, jsonSecret.secret, {
expiresIn: 86400
})
return { accessToken }
}
}
module.exports = AuthService;