From b4ebeef83a5f4e8962072b201fc0e853b36cac1c Mon Sep 17 00:00:00 2001 From: DanielRamirezGe Date: Thu, 28 Nov 2019 17:49:57 -0600 Subject: [PATCH] logging terminado --- app.js | 2 +- data_base/scrip_db.sql | 124 ++++++++++++++++++++++++++++++++++++ data_base/values.sql | 2 + routes/datos_proyecto_1.js | 4 ++ routes/datos_responsable.js | 15 +++++ routes/index.js | 4 ++ routes/loggin.js | 73 +++++++++++++++++++++ 7 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 data_base/values.sql create mode 100644 routes/datos_proyecto_1.js create mode 100644 routes/datos_responsable.js create mode 100644 routes/index.js create mode 100644 routes/loggin.js diff --git a/app.js b/app.js index 9cb39ab..7bf5b88 100644 --- a/app.js +++ b/app.js @@ -7,7 +7,7 @@ app.get('/', function(req, res) { app.use(cors()); app.use(express.json()) // for parsing application/json app.use(express.urlencoded({ extended: true })) -app.use(require('./index.js')) +app.use(require('./routes/index.js')) app.listen(3000, function() { console.log('Example app listening on port 3000!'); }); \ No newline at end of file diff --git a/data_base/scrip_db.sql b/data_base/scrip_db.sql index e69de29..9b2c507 100644 --- a/data_base/scrip_db.sql +++ b/data_base/scrip_db.sql @@ -0,0 +1,124 @@ + drop database red_de_investigacion; + Create Database red_de_investigacion; + use red_de_investigacion; + + + +CREATE TABLE `usuario` ( + `id_usuario` int PRIMARY KEY AUTO_INCREMENT, + `usuario` varchar(30), + `password` varchar(30) +); + +CREATE TABLE `proyecto` ( + `id_proyecto` int PRIMARY KEY AUTO_INCREMENT, + `nombre_proyecto` varchar(100), + `rfc_responsable` varchar(30), + `nombre_responsable` varchar(70), + `diciplina` varchar(70), + `objetivo_general` varchar(255), + `hipotesis` varchar(255), + `resumen` varchar(300), + `fecha_inicio` date, + `fecha_final` date, + `estado_avance` varchar(30), + `avance` int, + `duracion` varchar(30), + `financiamiento` varchar(50), + `numero_registro` varchar(60), + `presupuesto` float +); + +CREATE TABLE `Campo_conocimiento` ( + `id_campo` int PRIMARY KEY AUTO_INCREMENT, + `nombre` varchar(50) +); + +CREATE TABLE `proyecto_campo` ( + `id_pro_cam` int PRIMARY KEY AUTO_INCREMENT, + `id_proyecto` int, + `id_campo` int +); + +CREATE TABLE `linea_investigacion` ( + `id_linea_investigacion` int PRIMARY KEY AUTO_INCREMENT, + `nombre` varchar(70) +); + +CREATE TABLE `proyecto_linea` ( + `id_pro_linea` int PRIMARY KEY AUTO_INCREMENT, + `id_proyecto` int, + `id_linea_investigacion` int +); + +CREATE TABLE `objetivo_particualres` ( + `id_objetivo` int PRIMARY KEY AUTO_INCREMENT, + `texto` varchar(125) +); + +CREATE TABLE `proyecto_objetivo` ( + `id_pro_objetivo` int PRIMARY KEY AUTO_INCREMENT, + `id_objetivo_particular` int, + `id_proyecto` int +); + +CREATE TABLE `proyecto_entidad` ( + `id_pro_entidad` int PRIMARY KEY AUTO_INCREMENT, + `id_entidad` int, + `id_proyecto` int +); + +CREATE TABLE `entidades` ( + `id_entidad` int PRIMARY KEY AUTO_INCREMENT, + `tipo` varchar(70), + `nombre` varchar(70) +); + +CREATE TABLE `producto` ( + `id_producto` int PRIMARY KEY AUTO_INCREMENT, + `nombre` varchar(100) +); + +CREATE TABLE `proyecto_producto` ( + `id_pro_producto` int PRIMARY KEY AUTO_INCREMENT, + `id_proyecto` int, + `id_producto` int +); + +CREATE TABLE `persona` ( + `id_persona` int PRIMARY KEY AUTO_INCREMENT, + `nombre` varchar(70), + `entidad` varchar(70), + `tipo_particicipacion` varchar(40), + `tipo` varchar(30) +); + +CREATE TABLE `proyecto_persona` ( + `id_pro_per` int PRIMARY KEY AUTO_INCREMENT, + `id_proyecto` int, + `id_persona` int +); + +ALTER TABLE `proyecto_campo` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); + +ALTER TABLE `proyecto_campo` ADD FOREIGN KEY (`id_campo`) REFERENCES `Campo_conocimiento` (`id_campo`); + +ALTER TABLE `proyecto_linea` ADD FOREIGN KEY (`id_linea_investigacion`) REFERENCES `linea_investigacion` (`id_linea_investigacion`); + +ALTER TABLE `proyecto_linea` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); + +ALTER TABLE `proyecto_objetivo` ADD FOREIGN KEY (`id_objetivo_particular`) REFERENCES `objetivo_particualres` (`id_objetivo`); + +ALTER TABLE `proyecto_objetivo` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); + +ALTER TABLE `proyecto_entidad` ADD FOREIGN KEY (`id_entidad`) REFERENCES `entidades` (`id_entidad`); + +ALTER TABLE `proyecto_entidad` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); + +ALTER TABLE `proyecto_producto` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); + +ALTER TABLE `proyecto_producto` ADD FOREIGN KEY (`id_producto`) REFERENCES `producto` (`id_producto`); + +ALTER TABLE `proyecto_persona` ADD FOREIGN KEY (`id_persona`) REFERENCES `persona` (`id_persona`); + +ALTER TABLE `proyecto_persona` ADD FOREIGN KEY (`id_proyecto`) REFERENCES `proyecto` (`id_proyecto`); diff --git a/data_base/values.sql b/data_base/values.sql new file mode 100644 index 0000000..86f984f --- /dev/null +++ b/data_base/values.sql @@ -0,0 +1,2 @@ +insert into usuario values(null, "uim_user", "$2b$10$R898HP76TOXq8Kk0J6UC6OBz7FgWpv6MikLyRc7h9vEHkVGN0gWs."); +insert into usuario values(null, "cedetec_user", "otra_contra"); \ No newline at end of file diff --git a/routes/datos_proyecto_1.js b/routes/datos_proyecto_1.js new file mode 100644 index 0000000..e78c111 --- /dev/null +++ b/routes/datos_proyecto_1.js @@ -0,0 +1,4 @@ +const connection = require('../conf/connection'); +const express = require('express'); +const bcrypt = require('bcrypt'); +var app = express(); \ No newline at end of file diff --git a/routes/datos_responsable.js b/routes/datos_responsable.js new file mode 100644 index 0000000..7bd548e --- /dev/null +++ b/routes/datos_responsable.js @@ -0,0 +1,15 @@ +const connection = require('../conf/connection.js'); +const express = require('express') +var app = express(); + +app.post('/datos_responsable', async(req, res) => { + let nombre = req.body.nombre; + let tel_oficina = req.body.tel_oficina; + let ext = req.body.ext; + let particular = req.body.particular; + let celular = req.body.celular; + let correo_institucional = req.body.correo_institucional; + let correo_personal = req.body.correo_personal; + let edificio = req.body.edificio; + +}); \ No newline at end of file diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..15131fb --- /dev/null +++ b/routes/index.js @@ -0,0 +1,4 @@ +var express = require('express') +var app = express() +app.use(require('./loggin')); +module.exports = app; \ No newline at end of file diff --git a/routes/loggin.js b/routes/loggin.js new file mode 100644 index 0000000..395feca --- /dev/null +++ b/routes/loggin.js @@ -0,0 +1,73 @@ +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; \ No newline at end of file