termino de la primera fase

This commit is contained in:
DanielRamirezGe
2020-02-14 20:13:18 -06:00
parent 11e616a41f
commit af6bf73d0c
11 changed files with 332 additions and 59 deletions
+81
View File
@@ -0,0 +1,81 @@
const connection = require('../conf/connection.js');
const express = require('express');
const bcrypt = require('bcrypt');
const sendmail = require('sendmail')();
var app = express()
var randomstring = require("randomstring");
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) {
cadena = cadena.replace(/'/g, "''");
cadena = cadena.replace(/;/g, "m");
return cadena;
} else
return null;
}
app.get('/enviar_email', async(req, res) => {
let id_persona;
try {
let n = req.query.correo;
console.log(req.query, n);
n = depurado(n);
let cad = `select id_persona from persona where correo_electronico='${n}'`;
let respuesta = await query(cad);
console.log(n);
console.log(respuesta);
if (respuesta.length == 0)
return res.status(400).json({ error: false, msj: "El correo aun no se ha registrado" });
else
id_persona = respuesta[0].id_persona;
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: "error al verificar el correo" });
}
try {
let nueva = randomstring.generate({
length: 10,
charset: 'alphabetic'
});
let n_pasword = await bcrypt.hash(nueva, 10);
let cad = `update persona set password='${n_pasword}' where id_persona=${id_persona};`;
let respuesta = query(cad);
respuesta.then(() => {
let correo = req.query.correo;
sendmail({
from: 'prueba_no_sirve@coloquio_eduacion.com',
to: `${correo}`,
subject: 'Nueva contraseña Coloquio de Educacion FES-Acatlan',
html: `La nueva contraseña es: ${nueva}`,
}, function(err, reply) {
console.log(err && err.stack);
console.dir(reply);
});
}).catch(() => {
return res.status(400).json({ error: true, msj: "error al actualizar la contraseña" });
})
res.status(200).json({ error: false, msj: "exito" });
} catch (err) {
return res.status(400).json({ error: true, msj: "error al encriptar la contraseña" });
}
})
module.exports = app
+2 -1
View File
@@ -5,9 +5,10 @@ app.use(require('./registro'));
app.use(require('./registro_ponencia'));
app.use(require('./traer_pais'));
app.use(require('./loggin_admin'));
app.use(require('./loggin_persona'));
app.use(require('./llenar_ponencia'));
app.use(require('./llenar_cartel'));
app.use(require('./descargar_ponencia'));
app.use(require('./descargar_cartel'));
app.use(require('./enviar_email'));
module.exports = app;
+44 -22
View File
@@ -18,6 +18,7 @@ function depurado(cadena) {
if (cadena != null) {
cadena = cadena.replace(/'/g, "''");
cadena = cadena.replace(/;/g, "m");
return cadena;
} else
return null;
@@ -29,31 +30,52 @@ app.get('/llenar_cartel', async(req, res) => {
let data = req.query;
console.log(req.query);
try {
let cad = `select nombre_mesa from admin where id_admin=${data.id_admin};`;
let respuesta = await query(cad);
mesa = respuesta[0].nombre_mesa;
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err, mas: data });
return;
}
try {
if (data.id_admin != 10) {
try {
let cad = `select * from trabajo where mesa_tematica='${mesa}' and tipo_trabajo='cartel';`;
let respuesta = query(cad);
respuesta.then(r => {
res.status(200).json({ error: false, msj: "exito", dat: r });
let cad = `select nombre_mesa from admin where id_admin=${data.id_admin};`;
let respuesta = await query(cad);
mesa = respuesta[0].nombre_mesa;
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err, mas: data });
return;
}).catch(err => {
res.status(400).json({ error: true, msj: err });
return
})
}
try {
let cad = `select * from trabajo where mesa_tematica='${mesa}' and tipo_trabajo='cartel';`;
let respuesta = query(cad);
respuesta.then(r => {
res.status(200).json({ error: false, msj: "exito", dat: r });
return;
}).catch(err => {
res.status(400).json({ error: true, msj: err });
return
})
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
}
} else {
try {
let cad = `select * from trabajo where tipo_trabajo='cartel';`;
let respuesta = query(cad);
respuesta.then(r => {
res.status(200).json({ error: false, msj: "exito", dat: r });
return;
}).catch(err => {
res.status(400).json({ error: true, msj: err });
return
})
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
}
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
}
});
+44 -23
View File
@@ -18,6 +18,7 @@ function depurado(cadena) {
if (cadena != null) {
cadena = cadena.replace(/'/g, "''");
cadena = cadena.replace(/;/g, "m");
return cadena;
} else
return null;
@@ -27,30 +28,50 @@ function depurado(cadena) {
app.get('/llenar_ponencia', async(req, res) => {
let mesa;
let data = req.query;
try {
let cad = `select nombre_mesa from admin where id_admin=${data.id_admin};`;
let respuesta = await query(cad);
mesa = respuesta[0].nombre_mesa;
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
}
try {
let cad = `select * from trabajo where mesa_tematica='${mesa}' and tipo_trabajo='ponencia';`;
let respuesta = query(cad);
respuesta.then(r => {
res.status(200).json({ error: false, msj: "exito", dat: r });
return;
}).catch(err => {
res.status(400).json({ error: true, msj: err });
return
})
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
if (data.id_admin != 10) {
try {
let cad = `select nombre_mesa from admin where id_admin=${data.id_admin};`;
let respuesta = await query(cad);
mesa = respuesta[0].nombre_mesa;
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
}
try {
let cad = `select * from trabajo where mesa_tematica='${mesa}' and tipo_trabajo='ponencia';`;
let respuesta = query(cad);
respuesta.then(r => {
res.status(200).json({ error: false, msj: "exito", dat: r });
return;
}).catch(err => {
res.status(400).json({ error: true, msj: err });
return
})
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
}
} else {
try {
let cad = `select * from trabajo where tipo_trabajo='ponencia';`;
let respuesta = query(cad);
respuesta.then(r => {
res.status(200).json({ error: false, msj: "exito", dat: r });
return;
}).catch(err => {
res.status(400).json({ error: true, msj: err });
return
})
} catch (err) {
console.log("afuera ", err);
res.status(400).json({ error: true, msj: err });
return;
}
}
});
+1
View File
@@ -18,6 +18,7 @@ function depurado(cadena) {
if (cadena != null) {
cadena = cadena.replace(/'/g, "''");
cadena = cadena.replace(/;/g, "m");
return cadena;
} else
return null;
+6 -3
View File
@@ -18,18 +18,21 @@ function depurado(cadena) {
if (cadena != null) {
cadena = cadena.replace(/'/g, "''");
cadena = cadena.replace(/;/g, "m");
return cadena;
} else
return null;
}
app.post('/loggin_admin', async(req, res) => {
app.post('/loggin_persona', async(req, res) => {
try {
let data = req.body;
let usuario = depurado(data.correo);
//console.log(usuario, " lksaldksjdlasd");
let cad = `select * from persona where correo_electronico='${data.usuario}';`;
console.log(usuario);
let cad = `select * from persona where correo_electronico='${usuario}';`;
console.log(cad);
let respuesta = query(cad);
// console.log(respuesta);
respuesta.then(async r => {
@@ -52,7 +55,7 @@ app.post('/loggin_admin', async(req, res) => {
return;
} else {
res.status(400).json({ error: false, msj: "Usuario o contraseña invalidos" });
res.status(400).json({ error: false, msj: "contraseña invalidos" });
return;
}
+1
View File
@@ -60,6 +60,7 @@ app.post('/registro', async(req, res) => {
if (n_cuenta != null)
n_cuenta = "'" + n_cuenta + "'";
let n_pasword = await bcrypt.hash(body.password, 10);
console.log(n_pasword);
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);
+15 -9
View File
@@ -25,9 +25,9 @@ function depurado(cadena) {
app.post('/registro_ponencia', async(req, res) => {
let pon = req.body.ponencia;
if (req.body.ponencia == undefined || req.body.cartel == undefined)
return res.status(400).json({ erro: true, msj: "falta el coampo ponencia o el campo cartel" });
if (req.body.ponencia == undefined && req.body.cartel == undefined)
return res.status(400).json({ erro: true, msj: "falta el campo ponencia o el campo cartel" });
console.log(req.body.id_persona);
try {
@@ -88,7 +88,7 @@ app.post('/registro_ponencia', async(req, res) => {
try {
if (req.files.cartel) {
if (req.files.cartel != undefined) {
let sampleFile = req.files.cartel;
sampleFile.mv(`files/cartel-${req.body.id_persona}.docx`, function(err) {
if (err)
@@ -101,10 +101,14 @@ app.post('/registro_ponencia', async(req, res) => {
return;
}
let pon = req.body.ponencia;
try {
if (pon.autor_principal != undefined) {
console.log(req.body.ponencia);
if (pon != undefined) {
pon = JSON.parse(pon);
console.log(pon);
let n_autor_p = depurado(pon.autor_principal);
console.log(pon.autor_principal, " ", n_autor_p);
let n_segundo = depurado(pon.segundo_autor);
let n_nombre = depurado(pon.nombre_trabajo);
let n_mesa = depurado(pon.mesa);
@@ -118,13 +122,15 @@ app.post('/registro_ponencia', async(req, res) => {
} catch (err) {
res.status(400).json({ error: true, msj: err });
res.status(400).json({ error: true, msj: "error al registrar ponencia" });
return;
}
let car = req.body.cartel;
try {
if (car.autor_principal != undefined) {
if (car != undefined) {
car = JSON.parse(car);
console.log(car);
let n_autor_p = depurado(car.autor_principal);
let n_segundo = depurado(car.segundo_autor);
let n_nombre = depurado(car.nombre_trabajo);
@@ -138,7 +144,7 @@ app.post('/registro_ponencia', async(req, res) => {
} catch (err) {
res.status(400).json({ error: true, msj: err });
res.status(400).json({ error: true, msj: "al registrar el cartel" });
return;
}