Boa Noite Alura, no decorrer da aula percebi que o professor nao colocou module.exports no arquivo estrategia-autenticacao, seque codigo:
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const Usuario = require('./usuarios-modelo');
const {InvalidArgumentError} = require('../erros');
const bcrypt = require('bcrypt');
function verificaUsuario(usuario){
if(!usuario){
throw new InvalidArgumentError('Nao existe usuario com esse e-mail')
}
}
async function verificaSenha(senha, senhaHash){
const senhaValida = await bcrypt.compare(senha, senhaHash)
if(!senhaValida){
throw new InvalidArgumentError('E-mail ou Senha invalidos')
}
}
passport.use(
new LocalStrategy({
usernameField: 'email',
passwordField: 'senha',
session: false
}, async (email, senha, done) =>{
try{
const usuario = await Usuario.buscaPorEmail(email);
verificaUsuario(usuario);
await verificaSenha(senha, usuario.senhaHash);
done(null, usuario);
}catch(erro){
done(erro)
}
})
);
e o mesmo arquivo e utilizado no index.js da pasta usuarios, segue codigo
module.exports = {
rotas: require('./usuarios-rotas'),
controlador: require('./usuarios-controlador'),
modelo: require('./usuarios-modelo'),
estrategiasAutenticacao: require('./estrategia-autenticacao')
}
como o index.js sabe onde esta o estrategiasAutenticacao: require('./estrategia-autenticacao') se o memso nao tem module.exports?
obrigado