From 16d062d6caef5606408bafd455435deda740dda9 Mon Sep 17 00:00:00 2001 From: DanielRamirezGe Date: Wed, 12 Feb 2020 00:42:19 -0600 Subject: [PATCH] creacion de funciones registro_ponencias, registro y traer pais --- conf/connection.js | 9 ++ routes/index.js | 7 ++ routes/registro.js | 86 ++++++++++++++++ routes/registro_ponencia.js | 72 +++++++++++++ routes/traer_pais.js | 37 +++++++ sql/base_datos.sql | 63 ++++++++++++ sql/values.sql | 194 ++++++++++++++++++++++++++++++++++++ 7 files changed, 468 insertions(+) create mode 100644 conf/connection.js create mode 100644 routes/index.js create mode 100644 routes/registro.js create mode 100644 routes/registro_ponencia.js create mode 100644 routes/traer_pais.js create mode 100644 sql/base_datos.sql create mode 100644 sql/values.sql diff --git a/conf/connection.js b/conf/connection.js new file mode 100644 index 0000000..90ba706 --- /dev/null +++ b/conf/connection.js @@ -0,0 +1,9 @@ +var mysql = require('mysql'); +var connection = mysql.createConnection({ + host: 'localhost', + user: 'root', + password: 'george', + database: 'coloquio_educacion' +}); + +module.exports = connection; \ No newline at end of file diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..697aabc --- /dev/null +++ b/routes/index.js @@ -0,0 +1,7 @@ +var express = require('express') +var app = express() + +app.use(require('./registro')); +app.use(require('./registro_ponencia')); +app.use(require('./traer_pais')); +module.exports = app; \ No newline at end of file diff --git a/routes/registro.js b/routes/registro.js new file mode 100644 index 0000000..ee55590 --- /dev/null +++ b/routes/registro.js @@ -0,0 +1,86 @@ +const connection = require('../conf/connection.js'); +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); + }); + }) +} + + +function depurado(cadena) { + if (cadena != null) + return cadena.replace(/'/g, "''"); + else + return null; +} +app.post('/registro', async(req, res) => { + let body = req.body; + + try { + let n_correo = depurado(body.correo); + let cad = `select * from persona where correo_electronico='${n_correo}';`; + let respuesta = await query(cad); + if (respuesta.length != 0) { + + res.status(400).json({ error: false, msj: "el correo ya se encuentra registrado" }); + return; + } + if (body.numero_cuenta != null) { + let n_cuenta = body.numero_cuenta.toString(); + n_cuenta = depurado(n_cuenta); + cad = `select * from persona where numero_cuenta='${n_cuenta}';`; + respuesta = await query(cad); + if (respuesta.length != 0) { + res.status(400).json({ error: false, msj: "el numero de cuenta ya se registro" }); + return; + } + } + let n_nombre = depurado(body.nombre); + let n_apellido_p = depurado(body.apellido_p); + let n_apellido_m = depurado(body.apellido_m); + let n_institucion = depurado(body.institucion); + let n_cuenta = depurado(body.numero_cuenta); + let po = false; + let as = false; + if (body.tipo_participacion == "ponente") { + po = true; + as = true; + } else + as = true; + if (n_cuenta != null) + n_cuenta = "'" + n_cuenta + "'"; + let n_pasword = await bcrypt.hash(body.pasword, 10); + cad = `insert into persona values (null,'${n_nombre}', '${n_apellido_p}', '${n_apellido_m}', ${po}, ${as}, '${n_institucion}', '${body.comunidad}', + '${body.situacion_academica}', '${body.pais}', ${n_cuenta}, '${n_correo}' ,'${n_pasword}', false );`; + respuesta = query(cad); + respuesta.then(async() => { + cad = `select id_persona from persona where correo_electronico='${n_correo}'`; + let n_res = await query(cad); + console.log(n_res); + res.status(200).json({ error: false, msj: "exito", id_persona: n_res[0].id_persona }); + return; + }).catch(err => { + console.log("entro ...", err); + res.status(400).json({ error: true, msj: err }); + return; + + }) + + + + + } catch (err) { + console.log("afuera ", err); + res.status(400).json({ error: true, msj: err }); + } + +}); + +module.exports = app \ No newline at end of file diff --git a/routes/registro_ponencia.js b/routes/registro_ponencia.js new file mode 100644 index 0000000..26f4c58 --- /dev/null +++ b/routes/registro_ponencia.js @@ -0,0 +1,72 @@ +const connection = require('../conf/connection.js'); +const express = require('express'); + + +var app = express() + +function query(consulta) { + return new Promise(function(resolve, reject) { + connection.query(`${consulta}`, (error, results, files) => { + if (error) reject(error); + resolve(results); + }); + }) +} + + +function depurado(cadena) { + if (cadena != null) + return cadena.replace(/'/g, "''"); + else + return null; +} +app.post('/registro_ponencia', async(req, res) => { + + + let pon = req.body.ponencia; + try { + if (pon.autor_principal != undefined) { + let n_autor_p = depurado(pon.autor_principal); + let n_segundo = depurado(pon.segunfo_autor); + let n_nombre = depurado(pon.nombre_trabajo); + let n_mesa = depurado(pon.mesa); + let cad = `insert into trabajo values(null,${req.body.id_persona}, "ponencia", '${n_nombre}', + '${n_autor_p}', '${n_segundo}', '${n_mesa}', false, false, false);`; + let respuesta = await query(cad); + + + + } + + } catch (err) { + + res.status(400).json({ error: true, msj: err }); + return; + } + + let car = req.body.cartel; + try { + if (car.autor_principal != undefined) { + let n_autor_p = depurado(car.autor_principal); + let n_segundo = depurado(car.segunfo_autor); + let n_nombre = depurado(car.nombre_trabajo); + let n_mesa = depurado(car.mesa); + let cad = `insert into trabajo values(null,${req.body.id_persona}, "cartel", '${n_nombre}', + '${n_autor_p}', '${n_segundo}', '${n_mesa}', false, false, false);`; + let respuesta = await query(cad); + + } + + + } catch (err) { + + res.status(400).json({ error: true, msj: err }); + return; + + } + res.status(200).json({ error: false, msj: "exito " }); + return; + +}); + +module.exports = app \ No newline at end of file diff --git a/routes/traer_pais.js b/routes/traer_pais.js new file mode 100644 index 0000000..4b17bfd --- /dev/null +++ b/routes/traer_pais.js @@ -0,0 +1,37 @@ +const connection = require('../conf/connection.js'); +const express = require('express'); + + +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.get('/traer_pais', async(req, res) => { + try { + let cad = `select nombre_pais from pais;`; + let respuesta = query(cad); + //console.log(respuesta); + respuesta.then(r => { + res.status(200).json({ error: false, msj: "exito", paises: r }); + return; + }).catch(err => { + res.status(400).json({ error: false, msj: err }); + }); + + } catch (err) { + console.log("afuera ", err); + res.status(400).json({ error: true, msj: err }); + } + +}); + +module.exports = app \ No newline at end of file diff --git a/sql/base_datos.sql b/sql/base_datos.sql new file mode 100644 index 0000000..3a93bf8 --- /dev/null +++ b/sql/base_datos.sql @@ -0,0 +1,63 @@ +drop database coloquio_educacion; + Create Database coloquio_educacion; + use coloquio_educacion; +CREATE TABLE persona ( + id_persona int PRIMARY KEY AUTO_INCREMENT, + nombre varchar(60), + apellido_p varchar(30), + apellido_m varchar(30), + ponente boolean, + asistente boolean, + institucion_procedencia varchar(60), + comunidad varchar(255), + situacion_academica varchar(70), + pais_origen varchar(30), + numero_cuenta varchar(20), + correo_electronico varchar(40), + password varchar(300), + pagado boolean +); + +CREATE TABLE conferecia ( + id_conferencia int PRIMARY KEY AUTO_INCREMENT, + nombre_conferencia varchar(200), + mesa_tematica varchar(200), + nombre_ponente varchar(200) +); + +CREATE TABLE conferencia_persona ( + id_registro int PRIMARY KEY AUTO_INCREMENT, + id_persona int, + id_conferencia int, + asistencia boolean +); + +CREATE TABLE admin ( + id_admin int PRIMARY KEY AUTO_INCREMENT, + password varchar(300), + nombre_mesa varchar(200) +); + +CREATE TABLE trabajo ( + id_trabajo int PRIMARY KEY AUTO_INCREMENT, + id_persona int, + tipo_trabajo varchar(50), + nombre_trabajo varchar(150), + autor_principal varchar(100), + segundo_autor varchar(100), + mesa_tematica varchar(100), + pagado boolean, + publicado boolean, + aceptado boolean +); +Create TABLE pais( + id_pais int PRIMARY KEY AUTO_INCREMENT, + nombre_pais varchar(100) +); + +ALTER TABLE conferencia_persona ADD FOREIGN KEY (id_conferencia) REFERENCES conferecia (id_conferencia); + +ALTER TABLE conferencia_persona ADD FOREIGN KEY (id_persona) REFERENCES persona (id_persona); + +ALTER TABLE trabajo ADD FOREIGN KEY (id_persona) REFERENCES persona (id_persona); + diff --git a/sql/values.sql b/sql/values.sql new file mode 100644 index 0000000..6812416 --- /dev/null +++ b/sql/values.sql @@ -0,0 +1,194 @@ +insert into pais values(null,'Afganistán'); +insert into pais values(null,'Albania'); +insert into pais values(null,'Alemania'); +insert into pais values(null,'Andorra'); +insert into pais values(null,'Angola'); +insert into pais values(null,'Antigua y Barbuda'); +insert into pais values(null,'Arabia Saudita'); +insert into pais values(null,'Argelia'); +insert into pais values(null,'Argentina'); +insert into pais values(null,'Armenia'); +insert into pais values(null,'Australia'); +insert into pais values(null,'Austria'); +insert into pais values(null,'Azerbaiyán'); +insert into pais values(null,'Bahamas'); +insert into pais values(null,'Bangladés'); +insert into pais values(null,'Barbados'); +insert into pais values(null,'Baréin'); +insert into pais values(null,'Bélgica'); +insert into pais values(null,'Belice'); +insert into pais values(null,'Benín'); +insert into pais values(null,'Bielorrusia'); +insert into pais values(null,'Birmania'); +insert into pais values(null,'Bolivia'); +insert into pais values(null,'Bosnia y Herzegovina'); +insert into pais values(null,'Botsuana'); +insert into pais values(null,'Brasil'); +insert into pais values(null,'Brunéi'); +insert into pais values(null,'Bulgaria'); +insert into pais values(null,'Burkina Faso'); +insert into pais values(null,'Burundi'); +insert into pais values(null,'Bután'); +insert into pais values(null,'Cabo Verde'); +insert into pais values(null,'Camboya'); +insert into pais values(null,'Camerún'); +insert into pais values(null,'Canadá'); +insert into pais values(null,'Catar'); +insert into pais values(null,'Chad'); +insert into pais values(null,'Chile'); +insert into pais values(null,'China'); +insert into pais values(null,'Chipre'); +insert into pais values(null,'Ciudad del Vaticano'); +insert into pais values(null,'Colombia'); +insert into pais values(null,'Comoras'); +insert into pais values(null,'Corea del Norte'); +insert into pais values(null,'Corea del Sur'); +insert into pais values(null,'Costa de Marfil'); +insert into pais values(null,'Costa Rica'); +insert into pais values(null,'Croacia'); +insert into pais values(null,'Cuba'); +insert into pais values(null,'Dinamarca'); +insert into pais values(null,'Dominica'); +insert into pais values(null,'Ecuador'); +insert into pais values(null,'Egipto'); +insert into pais values(null,'El Salvador'); +insert into pais values(null,'Emiratos Árabes Unidos'); +insert into pais values(null,'Eritrea'); +insert into pais values(null,'Eslovaquia'); +insert into pais values(null,'Eslovenia'); +insert into pais values(null,'España'); +insert into pais values(null,'Estados Unidos'); +insert into pais values(null,'Estonia'); +insert into pais values(null,'Etiopía'); +insert into pais values(null,'Filipinas'); +insert into pais values(null,'Finlandia'); +insert into pais values(null,'Fiyi'); +insert into pais values(null,'Francia'); +insert into pais values(null,'Gabón'); +insert into pais values(null,'Gambia'); +insert into pais values(null,'Georgia'); +insert into pais values(null,'Ghana'); +insert into pais values(null,'Granada'); +insert into pais values(null,'Grecia'); +insert into pais values(null,'Guatemala'); +insert into pais values(null,'Guyana'); +insert into pais values(null,'Guinea'); +insert into pais values(null,'Guinea-Bisáu'); +insert into pais values(null,'Guinea Ecuatorial'); +insert into pais values(null,'Haití'); +insert into pais values(null,'Honduras'); +insert into pais values(null,'Hungría'); +insert into pais values(null,'India'); +insert into pais values(null,'Indonesia'); +insert into pais values(null,'Irak'); +insert into pais values(null,'Irán'); +insert into pais values(null,'Irlanda'); +insert into pais values(null,'Islandia'); +insert into pais values(null,'Islas Marshall'); +insert into pais values(null,'Islas Salomón'); +insert into pais values(null,'Israel'); +insert into pais values(null,'Italia'); +insert into pais values(null,'Jamaica'); +insert into pais values(null,'Japón'); +insert into pais values(null,'Jordania'); +insert into pais values(null,'Kazajistán'); +insert into pais values(null,'Kenia'); +insert into pais values(null,'Kirguistán'); +insert into pais values(null,'Kiribati'); +insert into pais values(null,'Kuwait'); +insert into pais values(null,'Laos'); +insert into pais values(null,'Lesoto'); +insert into pais values(null,'Letonia'); +insert into pais values(null,'Líbano'); +insert into pais values(null,'Liberia'); +insert into pais values(null,'Libia'); +insert into pais values(null,'Liechtenstein'); +insert into pais values(null,'Lituania'); +insert into pais values(null,'Luxemburgo'); +insert into pais values(null,'Macedonia del Norte'); +insert into pais values(null,'Madagascar'); +insert into pais values(null,'Malasia'); +insert into pais values(null,'Malaui'); +insert into pais values(null,'Maldivas'); +insert into pais values(null,'Malí'); +insert into pais values(null,'Malta'); +insert into pais values(null,'Marruecos'); +insert into pais values(null,'Mauricio'); +insert into pais values(null,'Mauritania'); +insert into pais values(null,'México'); +insert into pais values(null,'Micronesia'); +insert into pais values(null,'Moldavia'); +insert into pais values(null,'Mónaco'); +insert into pais values(null,'Mongolia'); +insert into pais values(null,'Montenegro'); +insert into pais values(null,'Mozambique'); +insert into pais values(null,'Namibia'); +insert into pais values(null,'Nauru'); +insert into pais values(null,'Nepal'); +insert into pais values(null,'Nicaragua'); +insert into pais values(null,'Níger'); +insert into pais values(null,'Nigeria'); +insert into pais values(null,'Noruega'); +insert into pais values(null,'Nueva Zelanda'); +insert into pais values(null,'Omán'); +insert into pais values(null,'Países Bajos'); +insert into pais values(null,'Pakistán'); +insert into pais values(null,'Palaos'); +insert into pais values(null,'Panamá'); +insert into pais values(null,'Papúa Nueva Guinea'); +insert into pais values(null,'Paraguay'); +insert into pais values(null,'Perú'); +insert into pais values(null,'Polonia'); +insert into pais values(null,'Portugal'); +insert into pais values(null,'Reino Unido de Gran Bretaña e Irlanda del Norte'); +insert into pais values(null,'República Centroafricana'); +insert into pais values(null,'República Checa'); +insert into pais values(null,'República del Congo'); +insert into pais values(null,'República Democrática del Congo'); +insert into pais values(null,'República Dominicana'); +insert into pais values(null,'República Sudafricana'); +insert into pais values(null,'Ruanda'); +insert into pais values(null,'Rumanía'); +insert into pais values(null,'Rusia'); +insert into pais values(null,'Samoa'); +insert into pais values(null,'San Cristóbal y Nieves'); +insert into pais values(null,'San Marino'); +insert into pais values(null,'San Vicente y las Granadinas'); +insert into pais values(null,'Santa Lucía'); +insert into pais values(null,'Santo Tomé y Príncipe'); +insert into pais values(null,'Senegal'); +insert into pais values(null,'Serbia'); +insert into pais values(null,'Seychelles'); +insert into pais values(null,'Sierra Leona'); +insert into pais values(null,'Singapur'); +insert into pais values(null,'Siria'); +insert into pais values(null,'Somalia'); +insert into pais values(null,'Sri Lanka'); +insert into pais values(null,'Suazilandia'); +insert into pais values(null,'Sudán'); +insert into pais values(null,'Sudán del Sur'); +insert into pais values(null,'Suecia'); +insert into pais values(null,'Suiza'); +insert into pais values(null,'Surinam'); +insert into pais values(null,'Tailandia'); +insert into pais values(null,'Tanzania'); +insert into pais values(null,'Tayikistán'); +insert into pais values(null,'Timor Oriental'); +insert into pais values(null,'Togo'); +insert into pais values(null,'Tonga'); +insert into pais values(null,'Trinidad y Tobago'); +insert into pais values(null,'Túnez'); +insert into pais values(null,'Turkmenistán'); +insert into pais values(null,'Turquía'); +insert into pais values(null,'Tuvalu'); +insert into pais values(null,'Ucrania'); +insert into pais values(null,'Uganda'); +insert into pais values(null,'Uruguay'); +insert into pais values(null,'Uzbekistán'); +insert into pais values(null,'Vanuatu'); +insert into pais values(null,'Venezuela'); +insert into pais values(null,'Vietnam'); +insert into pais values(null,'Yemen'); +insert into pais values(null,'Yibuti'); +insert into pais values(null,'Zambia'); +insert into pais values(null,'Zimbabue'); \ No newline at end of file