Correo incompleto

This commit is contained in:
Andres2908
2022-03-17 00:46:01 -06:00
parent 028cc45405
commit 82b0d07c5c
7 changed files with 127 additions and 61 deletions
+32
View File
@@ -19,6 +19,7 @@
"dotenv": "^8.2.0",
"express": "^4.17.1",
"fs": "^0.0.1-security",
"gmail-send": "^1.8.14",
"jsonwebtoken": "^8.5.1",
"mariadb": "^2.5.3",
"moment": "^2.29.1",
@@ -1071,6 +1072,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/gmail-send": {
"version": "1.8.14",
"resolved": "https://registry.npmjs.org/gmail-send/-/gmail-send-1.8.14.tgz",
"integrity": "sha512-hc+4Ej7ZJtw0G5sync10pmWkpPXIabkQ+p/a92lPPTXni3ChEU9sR2wxOvK6Hx+5Ou+2m9h1cVffWEgtR6Gzkw==",
"dependencies": {
"lodash": "^4.17.21",
"nodemailer": "^6.6.5"
}
},
"node_modules/got": {
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -1757,6 +1767,14 @@
"node": "4.x || >=6.0.0"
}
},
"node_modules/nodemailer": {
"version": "6.7.2",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
"integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/nodemon": {
"version": "2.0.15",
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
@@ -3558,6 +3576,15 @@
"ini": "2.0.0"
}
},
"gmail-send": {
"version": "1.8.14",
"resolved": "https://registry.npmjs.org/gmail-send/-/gmail-send-1.8.14.tgz",
"integrity": "sha512-hc+4Ej7ZJtw0G5sync10pmWkpPXIabkQ+p/a92lPPTXni3ChEU9sR2wxOvK6Hx+5Ou+2m9h1cVffWEgtR6Gzkw==",
"requires": {
"lodash": "^4.17.21",
"nodemailer": "^6.6.5"
}
},
"got": {
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -4092,6 +4119,11 @@
"whatwg-url": "^5.0.0"
}
},
"nodemailer": {
"version": "6.7.2",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
"integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q=="
},
"nodemon": {
"version": "2.0.15",
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
+1
View File
@@ -27,6 +27,7 @@
"dotenv": "^8.2.0",
"express": "^4.17.1",
"fs": "^0.0.1-security",
"gmail-send": "^1.8.14",
"jsonwebtoken": "^8.5.1",
"mariadb": "^2.5.3",
"moment": "^2.29.1",
+24 -16
View File
@@ -4,23 +4,31 @@ const Usuario = require(`${dbPath}/Usuario`);
const { usuarioInscrito } = require('../../config/mariadb.conf');
const validarSinTicket = async (body) => {
return usuarioInscrito(body.numeroCuenta, 0)
.then((res) => {
return Inscripcion.update(
{
validacion: 1,
},
{
where: {
idUsuario: body.idUsuario,
validacion: 2,
},
}
);
})
// return usuarioInscrito(body.numeroCuenta, 0)
// .then((res) => {
// return Inscripcion.update(
// {
// validacion: 1,
// },
// {
// where: {
// idUsuario: body.idUsuario,
// },
// }
// );
// })
return Inscripcion.update(
{
validacion: 1,
},
{
where: {
idUsuario: body.idUsuario,
},
}
)
.then((res) => ({
message:
'Tu inscripción está sujeta a validación, en caso de no ser correcta o veraz el servicio será suspendido.',
message: '¡El ticket a sido validado de forma correcta!',
}))
.catch((err) => {
throw new Error('¡ No fue posible validar la inscripción !. ');
+48 -43
View File
@@ -4,52 +4,57 @@ const Usuario = require(`${dbPath}/Usuario`);
const { usuarioInscrito } = require('../../config/mariadb.conf');
const validarTicket = async (body) => {
return Inscripcion.findOne({
where: { folio: body.folio },
})
.then((res) => {
if (!res) throw new Error('Este folio no existe');
idUsuario = res.idUsuario;
if (body.validacion == 1) {
return Inscripcion.findOne({
where: { folio: body.folio, validacion: 1 },
});
}
return (
Inscripcion.findOne({
where: { folio: body.folio },
})
.then((res) => {
if (res) throw new Error('Este folio ya fue validado');
return Inscripcion.update(
{
validacion: body.validacion,
},
{
where: {
folio: body.folio,
},
.then((res) => {
if (!res) throw new Error('Este folio no existe');
idUsuario = res.idUsuario;
if (body.validacion == 1) {
return Inscripcion.findOne({
where: { folio: body.folio, validacion: 1 },
});
}
);
})
.then((res) => {
if (body.validacion === 0)
throw new Error(
'El administrador a declinado el ticket, ya que los datos no coinciden.'
})
.then((res) => {
if (res) throw new Error('Este folio ya fue validado');
return Inscripcion.update(
{
validacion: body.validacion,
},
{
where: {
folio: body.folio,
},
}
);
})
.then((res) => {
return Usuario.findOne({
where: { idUsuario },
attributes: ['numeroCuenta'],
}).then((res) => {
return usuarioInscrito(res.numeroCuenta, 1).then(async (res) => {
return {
message: '¡ El ticket a sido validado de forma correcta !',
};
});
});
})
.catch((err) => {
throw new Error('No fue posible validar el ticket. ' + err);
});
})
.then((res) => {
if (body.validacion === 0)
throw new Error(
'El administrador a declinado el ticket, ya que los datos no coinciden.'
);
})
// .then((res) => {
// return Usuario.findOne({
// where: { idUsuario },
// attributes: ['numeroCuenta'],
// }).then((res) => {
// return usuarioInscrito(res.numeroCuenta, 1).then(async (res) => {
// return {
// message: '¡ El ticket a sido validado de forma correcta !',
// };
// });
// });
// })
.then((res) => ({
message: '¡El ticket a sido validado de forma correcta!',
}))
.catch((err) => {
throw new Error('No fue posible validar el ticket. ' + err);
})
);
};
module.exports = validarTicket;
@@ -2,7 +2,8 @@ const moment = require('moment');
const fs = require('fs');
const { validarNumeroEntero, validarNumero } = require('../../helper/validar');
const { eliminarArchivo } = require('../../helper/helper');
const { usuarioInscrito } = require('../../config/mariadb.conf');
const gmail = require('../../helper/gmail');
const correoInscripciones = require('../../helper/correo');
const dbPath = '../../db/tablas';
const Inscripcion = require(`${dbPath}/Inscripcion`);
@@ -13,6 +14,9 @@ const inscripcion = async (body, file) => {
const monto = validarNumero(body.monto, 'monto', true);
const folio = body.folio;
let correo = {};
let email = '';
return Inscripcion.findOne({
where: { folio },
})
@@ -22,6 +26,8 @@ const inscripcion = async (body, file) => {
where: { idUsuario, idArea, cancelacion: 0 },
}).then((res) => {
if (res) throw new Error('Ya estas registrado en esta área');
email = `419085500@pcpuma.acatlan.unam.mx`;
correo = correoInscripciones();
if (file && folio && body.fechaTicket) {
return Inscripcion.create({
idUsuario,
@@ -47,6 +53,7 @@ const inscripcion = async (body, file) => {
.then((res) => {
if (file)
fs.renameSync(file.path, file.path + '.' + file.mimetype.split('/')[1]);
gmail(correo.subject, email, correo.msj);
})
.then((res) => ({
message:
+14
View File
@@ -0,0 +1,14 @@
const correoInscripciones = () => ({
subject: `Inscripción a CEDETEC`,
msj: `Estimado usuario, su inscripción se realizo con éxito.
<p>
Para poder hacer uso de las instalaciones de CEDETEC, por favor confirma tu inscripción en el el siguiente link.
</p>
<a href="https://kalinga.acatlan.unam.mx/cedetec/" target="_blanc">KALINGA</a>
`,
});
module.exports = correoInscripciones;
-1
View File
@@ -9,7 +9,6 @@ const gmail = (subject, to, text) => {
return new Promise((resolve, reject) => {
send({ subject, to, text }, (error, result, fullResult) => {
if (error) reject(error);
console.log(fullResult);
resolve(result);
});
});