const encriptar = require('../../helper/encriptar'); const validar = require('../../helper/validar'); const { crearToken } = require('../../middleware/autentificacion'); const Operador = require('../../db/tablas/Operador'); const TipoUsuario = require('../../db/tablas/TipoUsuario'); const login = async (body) => { const operador = validar.validar(body.usuario, 'El usuario', 60); const password = validar.validarAlfanumerico( body.password, 'La contraseƱa', 20 ); return Operador.findOne({ where: { operador }, 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; return { Operador: res, token: crearToken(res.idOperador), }; } throw new Error('La contraseƱa es incorrecta'); }); }; module.exports = login;