Files
inscripciones_api/server/controller/Admin/validarTicket.js
T
2022-05-16 22:16:35 -05:00

77 lines
1.8 KiB
JavaScript

const {
validarNumeroEntero,
validarNumeroCuenta,
} = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Inscripcion = require(`${dbPath}/Inscripcion`);
const gmail = require('../../helper/gmail');
const correoDeclinar = require('../../helper/correoDeclinar');
const validarTicket = async (body) => {
const folio = validarNumeroEntero(body.folio, 'folio', true);
const numeroCuenta = validarNumeroCuenta(
body.numeroCuenta,
'número de cuenta',
true
);
let correo = {};
let email = '';
return Inscripcion.findOne({
where: { folio },
})
.then((res) => {
if (!res) throw new Error('Este folio no existe');
idUsuario = res.idUsuario;
if (body.validacion == 1) {
return Inscripcion.findOne({
where: { folio, validacion: 1 },
});
}
})
.then((res) => {
if (res) throw new Error('Este folio ya fue validado');
return Inscripcion.update(
{
validacion: body.validacion,
},
{
where: {
folio,
cancelacion: 0,
},
}
);
})
.then((res) => {
if (body.validacion === 0) {
email = `${numeroCuenta}@pcpuma.acatlan.unam.mx`;
correoDeclinar = correoInscripciones();
return Inscripcion.update(
{ motivo: body.motivo },
{
where: {
folio,
},
}
);
}
})
.then((res) => {
if (body.validacion === 1)
return {
message: '¡El ticket a sido validado de forma correcta!',
};
else
return {
message: '¡El ticket a sido declinado',
};
})
.catch((err) => {
throw new Error('No fue posible validar el ticket. ' + err);
});
};
module.exports = validarTicket;