cracion proyecto
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
var express = require('express')
|
||||
var app = express()
|
||||
|
||||
app.use(require('./registro'));
|
||||
|
||||
module.exports = app;
|
||||
@@ -0,0 +1,168 @@
|
||||
const connection = require('../conf/connection.js');
|
||||
const express = require('express');
|
||||
var nodemailer = require('nodemailer');
|
||||
|
||||
var app = express()
|
||||
|
||||
// ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'georgechido'
|
||||
|
||||
|
||||
function query(consulta) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
connection.query(`${consulta}`, (error, results, files) => {
|
||||
//connection.end();
|
||||
if (error)reject(error);
|
||||
resolve(results);
|
||||
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function depurado(cadena) {
|
||||
if (cadena != null)
|
||||
return cadena.replace(/'/g, "''");
|
||||
else
|
||||
return null;
|
||||
}
|
||||
// {
|
||||
// desafio:
|
||||
// campus:
|
||||
// numeroIntegrantes:
|
||||
// nombreLider:
|
||||
// apellidoPaLider:
|
||||
// apellidoMaLider:
|
||||
// correoLider:
|
||||
// carreraLider:
|
||||
// integrantes: [{nombre: , apellidoPa, apellidoMa, correo}]
|
||||
// }
|
||||
|
||||
app.post('/registro', async(req, res) => {
|
||||
console.log("entro");
|
||||
let body = req.body;
|
||||
let idEquipo = 1;
|
||||
|
||||
|
||||
try{
|
||||
|
||||
let n_correo = body.correoLider;
|
||||
let cad = `SELECT * FROM Persona WHERE correo='${n_correo}' AND lider = true;`;
|
||||
let respuesta = await query(cad);
|
||||
if (respuesta.length != 0) {
|
||||
|
||||
res.status(400).json({ error: false, msj: "El correo del lider ya fue registrado anteriormente" });
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
catch(error){
|
||||
let men = `Errror al buscar el correo ${error}`;
|
||||
console.log(men);
|
||||
res.status(400).json({ error: true, msj: men });
|
||||
throw new typeofError (error);
|
||||
|
||||
}
|
||||
|
||||
try{
|
||||
let cad = `INSERT INTO Equipo VALUES (null, '${body.desafio}', '${body.campus}', ${body.numeroIntegrantes});`;
|
||||
await query(cad);
|
||||
cad = `SELECT COUNT(*) FROM Equipo;`;
|
||||
let ans = await query(cad);
|
||||
console.log(`respuesta: ${ans}`);
|
||||
}
|
||||
catch(error){
|
||||
let men = `Error al registar Equipo ${error}`;
|
||||
console.log(men);
|
||||
res.status(400).json({ error: true, msj: men });
|
||||
throw new typeofError (error);
|
||||
}
|
||||
// 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
|
||||
// );
|
||||
|
||||
|
||||
try{
|
||||
for( let i=0; i < body.integrantes.length; i++){
|
||||
let row = body.integrantes[i];
|
||||
let cad = `INSERT INTO Persona VALUES ( null, ${idEquipo}, '${row.nombre}', '${row.apellidoPa}', '${row.apellidoMa}', '${row.correo}', null, false );`;
|
||||
await query(cad);
|
||||
}
|
||||
|
||||
let cad = `INSERT INTO Persona VALUES ( null, ${idEquipo}, '${body.nombreLider}', '${body.apellidoPaLider}', '${body.apellidoMaLider}', '${body.correoLider}', '${body.carreraLider}', true );`;
|
||||
await query(cad);
|
||||
}
|
||||
catch(error){
|
||||
let men = `Error al registar Integrantes ${error}`
|
||||
console.log(men);
|
||||
res.status(400).json({ error: true, msj: men });
|
||||
throw new typeofError (error);
|
||||
|
||||
}
|
||||
|
||||
|
||||
try{
|
||||
var nodemailer = require('nodemailer');
|
||||
|
||||
var transporter = nodemailer.createTransport({
|
||||
service: 'gmail',
|
||||
auth: {
|
||||
user: 'daniel.adrian.ramirez.george@gmail.com',
|
||||
pass: '753951852_dan'
|
||||
}
|
||||
});
|
||||
|
||||
var mailOptions = {
|
||||
from: `daniel.adrian.ramirez.george@gmail.com`,
|
||||
to: `${body.correoLider}`,
|
||||
subject: 'Registro HACKATHON VIRTUAL',
|
||||
text: `Tu registro se ha realizado de manera correcta es importante que considere el equipo la asistencia a las siguientes actividades
|
||||
Primer Taller: Julio 14
|
||||
Segundo Taller: Julio 16
|
||||
Tercer Taller: Julio 22
|
||||
Cuarto Taller: Julio 28
|
||||
Hackathon: Agosgto 1-2
|
||||
|
||||
Una vez inscrito, se compartirán más detalles.`
|
||||
};
|
||||
|
||||
await transporter.sendMail(mailOptions, function(error, info){
|
||||
if (error) {
|
||||
let men = `Error al enviar mensaje: ${error}`;
|
||||
console.log(men);
|
||||
res.status(400).json({ error: true, msj: men });
|
||||
throw new typeofError (error);
|
||||
|
||||
} else {
|
||||
|
||||
console.log('Email sent: ' + info.response);
|
||||
res.status(200).json({ error: false, msj: "exito"});
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
catch(error){
|
||||
let men = `Error al enviar mensaje: ${error}`;
|
||||
console.log(men);
|
||||
res.status(400).json({ error: true, msj: men });
|
||||
throw new typeofError (error);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
module.exports = app
|
||||
Reference in New Issue
Block a user