const encriptar = require('../../helper/encriptar'); const validar = require('../../helper/validar'); const { crearToken } = require('../../middleware/autentificacion'); const Usuario = require('../../db/tablas/Usuario'); const TipoUsuario = require('../../db/tablas/TipoUsuario'); const login = async (body) => { const usuario = validar.validar(body.usuario, 'El usuario', 60); const password = validar.validarAlfanumerico( body.password, 'El password', 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 (encriptar.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;