Files
red_de_investigacion/routes/loggin.js
T
DanielRamirezGe b4ebeef83a logging terminado
2019-11-28 17:49:57 -06:00

73 lines
1.9 KiB
JavaScript

const connection = require('../conf/connection');
const express = require('express');
const bcrypt = require('bcrypt');
var app = express();
function query(consulta) {
return new Promise(function(resolve, reject) {
connection.query(`${consulta}`, (error, results, files) => {
if (error) reject(error);
resolve(results);
});
})
}
app.post('/loggin', async(req, res) => {
var usuario = req.body.usuario;
usuario = usuario.toLowerCase();
var password = req.body.password;
var text = true;
for (let i = 0; i < usuario.length; i++) {
if ((usuario[i] < 'a' || usuario[i] > 'z') && usuario[i] != '_') {
text = false;
break;
}
}
if (text == false) {
res.status(400).json({ err: true, msj: "Correo o contraseña invalidos" });
false;
}
let password_consulta;
try {
let select = `select * from usuario where usuario="${usuario}";`;
password_consulta = query(select);
} catch (error) {
res.status(400).json({ error: true, msj: "Error en la consulta en del usuario" });
return;
}
let exite;
let comparar;
let id;
await password_consulta.then(function(v) {
existe = v.length;
console.log(existe);
if (existe == 1) {
comparar = v[0].password
id = v[0].id_usuario;
}
})
if (existe == 0) {
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
return;
}
// var pass = await bcrypt.hash(password, 10);
//console.log(pass);
console.log(comparar);
let correcto = bcrypt.compareSync(password, comparar);
if (correcto == true) {
res.status(200).json({ err: false, mjs: `Bienvenido`, id_usuario: id });
return;
} else {
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
return;
}
});
module.exports = app;