diff --git a/routes/getRegistro.js b/routes/getRegistro.js new file mode 100644 index 0000000..ba72f5f --- /dev/null +++ b/routes/getRegistro.js @@ -0,0 +1,44 @@ +const connection = require('../conf/connection.js'); +const express = require('express'); +const nodemailer = require("nodemailer"); +var app = express() + + +function query(consulta) { + return new Promise(function(resolve, reject) { + connection.query(`${consulta}`, (error, results, files) => { + if (error){ + reject(error); + } + resolve(results); + console.log("si pasa por aqui"); + }); + }) +} + + +app.get('/getRegistro', async(req, res) => { + + try{ + + let sqlString = `SELECT eq.*, eq.nombre as nombreEquipo, per.* FROM Equipo as eq INNER JOIN Persona as per Where per.lider=true and eq.idEquipo=per.idEquipo`; + let sqlAnswer = await query(sqlString); + console.log(sqlAnswer); + res.status(200).json({error: false, mjs: 'Exito', data: sqlAnswer}); + return; + } + catch(error){ + + let men = `Errror al traer los datos de la base ${error}`; + console.log(men); + res.status(400).json({ error: true, msj: men, desc: error }); + return; + + } + + + + +}); + +module.exports = app \ No newline at end of file diff --git a/routes/index.js b/routes/index.js index 79f2f5c..ad88786 100644 --- a/routes/index.js +++ b/routes/index.js @@ -3,5 +3,6 @@ var app = express() app.use(require('./registro')); app.use(require('./login')); +app.use(require('./getRegistro')); module.exports = app; \ No newline at end of file diff --git a/routes/login.js b/routes/login.js index 5f28bc3..fdd8bf5 100644 --- a/routes/login.js +++ b/routes/login.js @@ -37,7 +37,7 @@ function depurado(cadena) { return null; } -app.post('/loggin', async(req, res) => { +app.post('/login', async(req, res) => { let usuario, password, password_consulta, pass, exite, comparar, id; diff --git a/routes/registro.js b/routes/registro.js index b6643fd..622ea97 100644 --- a/routes/registro.js +++ b/routes/registro.js @@ -87,10 +87,50 @@ function depurado(cadena) { // integrantes: [{nombre: , apellidoPa, apellidoMa, correo}] // } + + // CREATE TABLE `Persona` ( + // `idPersona` integer PRIMARY KEY NOT NULL AUTO_INCREMENT, + // `idEquipo` integer, + // `nombre` varchar(100), + // `apellidoP` varchar(100), + // `apellidoM` varchar(100), + // `correo` varchar(100), + // `carrera` varchar(100), + // `lider` boolean + // ); + app.post('/registro', async(req, res) => { let body = req.body; - let idEquipo = 1; + let idEquipo; + try{ + if(body.desafio.length > 99 || body.campus.length > 99 || body.numeroIntegrantes.length > 99 || body.nombreEqui.length > 99 || body.carreraLider.length > 99 ){ + let men = `Datos no validos, exeso de tamaño`; + console.log(men); + res.status(400).json({ error: true, msj: men }); + return; + } + + for( let i=0; i < body.integrantes.length; i++){ + let row = body.integrantes[i]; + + if(row.nombre.length > 99 || row.apellidoPa.length > 99 || row.apellidoMa.length > 99 || row.correo.length > 99 ){ + let men = `Datos no validos, exeso de tamaño`; + console.log(men); + res.status(400).json({ error: true, msj: men }); + return; + } + } + } + catch(error){ + let men = `No se pudieron validar los datos, desc: ${error}`; + console.log(men); + res.status(400).json({ error: true, msj: men, desc: error }); + return; + } + + + try{ @@ -117,18 +157,11 @@ app.post('/registro', async(req, res) => { } try{ - let cad = `INSERT INTO Equipo VALUES (null, '${body.nombreEqui}', '${body.desafio}', '${body.campus}', ${body.numeroIntegrantes}, false);`; + let fecha = new Date(); + let cad = `INSERT INTO Equipo VALUES (null, '${body.nombreEqui}', '${body.desafio}', '${body.campus}', ${body.numeroIntegrantes}, false, NOW());`; await query(cad); cad = `SELECT COUNT(*) as num FROM Equipo;`; let ans = await query(cad); - // console.log(`respuesta: ${ans}`); - // for(key in ans){ - // console.log(` ${key} : ${ans[key]}`); - // for(key2 in ans[key]){ - // console.log(` ${key2} : ${ans[key][key2]}`); - // } - // } - // console.log(`aqui: ${ans[0].num}`); idEquipo = ans[0].num; } catch(error){ @@ -154,7 +187,7 @@ app.post('/registro', async(req, res) => { for( let i=0; i < body.integrantes.length; i++){ let row = body.integrantes[i]; let c = depurado(row.correo); - let cad = `INSERT INTO Persona VALUES ( null, ${idEquipo}, '${row.nombre}', '${row.apellidoPa}', '${row.apellidoMa}', '${c}', null, false );`; + let cad = `INSERT INTO Persona VALUES ( null, ${idEquipo}, '${row.nombre}', '${row.apellidoPa}', '${row.apellidoMa}', '${c}', '${body.carreraLider}', false );`; await query(cad); } let c = depurado(body.correoLider); diff --git a/sql/script.sql b/sql/script.sql index 8f2dad0..7717823 100644 --- a/sql/script.sql +++ b/sql/script.sql @@ -33,3 +33,13 @@ CREATE TABLE `Persona` ( ); ALTER TABLE `Persona` ADD FOREIGN KEY (`idEquipo`) REFERENCES `Equipo` (`idEquipo`); + + + + + + + +ALTER TABLE Equipo +ADD fechaRegistro Date; +