const { comparar } = require('../../helper/encriptar'); const { crearToken } = require('../../middleware/autentificacion'); const validar = require('../../helper/validar'); const Operador = require('../../db/tablas/Operador'); const TipoUsuario = require('../../db/tablas/TipoUsuario'); const login = async (body) => { const operador = validar.validar(body.operador, 'El operador', 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 operador.'); if (!res.activo) throw new Error('Este operador no esta activo.'); if (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;