diff --git a/public/comprobante-1.pdf b/public/comprobante-1.pdf index 83da15d..3e2ee46 100644 Binary files a/public/comprobante-1.pdf and b/public/comprobante-1.pdf differ diff --git a/public/comprobante-2.pdf b/public/comprobante-2.pdf index c51aac8..0a0f347 100644 Binary files a/public/comprobante-2.pdf and b/public/comprobante-2.pdf differ diff --git a/routes/cupo.js b/routes/cupo.js index dfb5c60..dd3e462 100644 --- a/routes/cupo.js +++ b/routes/cupo.js @@ -6,7 +6,7 @@ app.get('/cupo', async(req, res) => { let arr = []; connection.query(`Select * from conferencia;`, async(error, results, file) => { if (error) { - res.status(200).json({ err: false }); + res.status(400).json({ err: true }); return; } await results.forEach(element => { diff --git a/routes/getConferencias.js b/routes/getConferencias.js index d18f24f..85891dd 100644 --- a/routes/getConferencias.js +++ b/routes/getConferencias.js @@ -4,7 +4,7 @@ var app = express(); app.get('/getConferencias', (req, res) => { - console.log(req.body); + connection.query(`select * from conferencia ;`, function(error, results, fields) { if (error) { diff --git a/routes/index.js b/routes/index.js index fe100fe..7d29fe2 100644 --- a/routes/index.js +++ b/routes/index.js @@ -10,4 +10,6 @@ app.use(require('./descargar_pdf')); app.use(require('./get_qr')); app.use(require('./verificarConferencia')); app.use(require('./cupo')); +app.use(require('./loginAdmin')); + module.exports = app; \ No newline at end of file diff --git a/routes/loggin.js b/routes/loggin.js index 9ed0768..59bdee7 100644 --- a/routes/loggin.js +++ b/routes/loggin.js @@ -9,7 +9,7 @@ app.post('/loggin', async(req, res) => { return; } - console.log(req.body); + //console.log(req.body); connection.query(`SELECT idPersona from persona where correo = '${req.body.correo}' `, function(error, results, fields) { if (error) { diff --git a/routes/loginAdmin.js b/routes/loginAdmin.js new file mode 100644 index 0000000..20e9f6d --- /dev/null +++ b/routes/loginAdmin.js @@ -0,0 +1,54 @@ +const connection = require('../conf/connection.js'); +const express = require('express') +const bcrypt = require('bcryptjs'); +var app = express(); + +app.post('/loginAdmin', async(req, res) => { + if (!req.body.usuario || req.body.usuario == "") { + res.status(400).json({ error: true, msj: "faltan datos" }); + return; + } + + + + // console.log(req.body); + connection.query(`SELECT idOperador from operador where usuario = '${req.body.usuario}'; `, + function(error, results, fields) { + if (error) { + res.status(400).json({ err: true, mjs: 'error en la verificacion del usuario' }); + return; + + } + if (results.length == 0) { + res.status(400).json({ err: true, mjs: 'Usuario no existe' }); + return; + + } else { + connection.query(`select * from operador where usuario = '${req.body.usuario}';`, + async function(e, r, f) { + if (e) { + res.status(200).json({ err: true, mjs: 'error en al verificar contraseña' }); + return; + + } + // console.log(r); + 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); + // console.log(ban); + if (ban == true) { + res.status(200).json({ err: false, mjs: `Bienvenido ${r[0].usuario}`, admin: r[0].admin }); + return; + } else { + res.status(400).json({ err: true, mjs: 'Datos Incorrectos' }); + return; + } + }); + } + }); +}); + + + +module.exports = app; \ No newline at end of file diff --git a/routes/pdf.js b/routes/pdf.js index 0a8d259..91851d8 100644 --- a/routes/pdf.js +++ b/routes/pdf.js @@ -67,7 +67,7 @@ let g_pdf = async function(idPersona) { table0.rows.push([results[0].nombre + " " + results[0].apellidos, results[0].correo]); doc.moveDown().table(table0, 200, 150, { width: 300 }); }); - connection.query(`select * from asistencia a join conferencia c on a.idConferencia=c.idConferencia where idPersona=${idPersona}`, + connection.query(`select * from asistencia a join conferencia c on a.idConferencia=c.idConferencia where idPersona=${idPersona};`, (erro, results, file) => { if (erro) { res.status(400).json({ mjs: "error en las conferencias" }); diff --git a/routes/registroPersona.js b/routes/registroPersona.js index 5530a41..8a39e06 100644 --- a/routes/registroPersona.js +++ b/routes/registroPersona.js @@ -4,10 +4,10 @@ const bcrypt = require('bcryptjs'); var app = express() app.post('/registroPersona', async(req, res) => { - console.log(req.body); + //console.log(req.body); var pass = await bcrypt.hash(req.body.password, 10); - //console.log(pass); + console.log(pass); connection.query(`SELECT * from persona where correo='${req.body.correo}'; `, async function(error, results, fields) { if (error) { @@ -22,7 +22,7 @@ app.post('/registroPersona', async(req, res) => { await connection.query(`insert into persona values (${req.body.est}, '${req.body.noCuenta}', ${req.body.promedio}, '${req.body.nombre}', '${req.body.apellidos}', '${req.body.sexo}', ${req.body.edad}, '${req.body.correo}', '${req.body.nivelIngles}', '${req.body.comunidad}' , '${pass}', '${req.body.facultdad}' , '${req.body.gradoAcademico}', - '${req.body.nombrePrograma}' , ${req.body.semestre}, ${req.body.titulado} );`, + '${req.body.nombrePrograma}' , ${req.body.semestre}, ${req.body.titulado}, ${req.body.recibir_info} );`, function(e, r, f) { if (e) { res.status(200).json({ err: true, mjs: 'error al registrar en la base' }); diff --git a/sql/base_de_datos.sql b/sql/base_de_datos.sql index a160ce7..5ba3877 100644 --- a/sql/base_de_datos.sql +++ b/sql/base_de_datos.sql @@ -29,7 +29,8 @@ CREATE TABLE persona ( gradoAcademico varchar (40), nombrePrograma varchar (40), semestre varchar (40), - titulado boolean + titulado boolean, + recibir_info boolean ); CREATE TABLE asistencia ( @@ -39,16 +40,22 @@ CREATE TABLE asistencia ( asistencia boolean ); -CREATE TABLE adm( - idAdm integer primary key not null auto_increment, +CREATE TABLE operador( + idOperador integer primary key not null auto_increment, usuario varchar(100), - password varchar(40) + password varchar(200), + admin boolean ); ALTER TABLE asistencia ADD FOREIGN KEY (idPersona) REFERENCES persona (idPersona); ALTER TABLE asistencia ADD FOREIGN KEY (idConferencia) REFERENCES conferencia (idConferencia); +insert into operador values (null, 'adminUno', '$2a$10$lWSCQA0QMkjEz9qupo1zq.Tu/L1Xs3b//Yjilw3d5Dk62YTeNhQRO', true ); + +insert into operador values (null, 'operador', '$2a$10$k5N5kTJ7tA0/Qm.zsCfNCewISjrhJFU27Q1LELLFfh7Y6K1dHlgVq', false ); + + insert into conferencia values (null, 'Competencias profesionales, ¿Qué busca los empleadores?', 'Psic. Yolanda Mayeli López Gutiérrez', 'Analista de Reclutamiento', 'KPMG', '2019-10-21 09:00:00', 'Auditorio 901', 150);