termino de la primera fase
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user