const validar = require('../../helper/validar'); const { crearToken } = require('../../middleware/autentificacion'); const { comparar } = require('../../helper/encriptar'); const dbPath = '../../db/tablas'; const Usuario = require(`${dbPath}/Usuario`); const TipoUsuario = require(`${dbPath}/TipoUsuario`); const login = async (body) => { const usuario = validar.validar(body.usuario, 'El usuario', 60); const password = validar.validarAlfanumerico( body.password, 'contraseƱa', false, 20 ); return Usuario.findOne({ where: { usuario }, include: [{ model: TipoUsuario }], }).then((res) => { if (!res) throw new Error('No existe este usuario.'); if (!res.activo) throw new Error('Este usuario no esta activo.'); if (comparar(password, res.password)) { delete res.dataValues.password; delete res.dataValues.activo; return { Usuario: res, token: crearToken(res.idUsuario), }; } throw new Error('La contraseƱa es incorrecta'); }); }; module.exports = login;