56 lines
2.1 KiB
JavaScript
56 lines
2.1 KiB
JavaScript
const connection = require('../conf/connection.js');
|
|
const express = require('express')
|
|
const bcrypt = require('bcryptjs');
|
|
var app = express();
|
|
var validator = require('validator');
|
|
|
|
app.post('/loggin', async(req, res) => {
|
|
if (!req.body.correo || req.body.correo == "") {
|
|
res.status(400).json({ error: true, msj: "faltan datos" });
|
|
return;
|
|
}
|
|
let mail = await validator.isEmail(req.body.correo);
|
|
|
|
if (!mail) {
|
|
res.status(400).json({ err: true, mjs: 'correo no valido' });
|
|
return;
|
|
}
|
|
|
|
connection.query(`SELECT idPersona from persona where correo = '${req.body.correo}' `,
|
|
function(error, results, fields) {
|
|
if (error) {
|
|
res.status(400).json({ err: true, mjs: 'error en la verificacion del correo' });
|
|
return;
|
|
|
|
}
|
|
if (results.length == 0) {
|
|
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
|
|
return;
|
|
|
|
} else {
|
|
connection.query(`select * from persona where correo = '${req.body.correo}'`,
|
|
async function(e, r, f) {
|
|
if (e) {
|
|
res.status(200).json({ err: true, mjs: 'error en la verificacion del de la contraseña' });
|
|
return;
|
|
|
|
}
|
|
let po = r[0].password;
|
|
//console.log(r[0]);
|
|
//console.log(r, `'${req.body.correo}' and password= '${req.body.password}'`);
|
|
let ban = bcrypt.compareSync(req.body.password, po);
|
|
if (ban == true) {
|
|
res.status(200).json({ err: false, mjs: `Bienvenid@ ${r[0].nombre}`, idPersona: r[0].idPersona });
|
|
return;
|
|
} else {
|
|
res.status(400).json({ err: true, mjs: 'Correo o contraseña invalidos' });
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
|
|
module.exports = app; |