Files
2022-06-14 18:50:40 -05:00

89 lines
2.2 KiB
JavaScript

const {
validarNumeroEntero,
validarNumeroCuenta,
} = require('../../helper/validar');
const {
borrarInscripcion,
borrarRecibo,
borrarDetalleServicio,
} = require('../../config/mariadb.conf');
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,
},
}
);
})
//el ticket ya fue validado
.then((res) => {
if (body.validacion === 0) {
email = `${numeroCuenta}@pcpuma.acatlan.unam.mx`;
correoDeclinar = correoInscripciones();
borrarInscripcion(numeroCuenta);
borrarRecibo(folio);
borrarDetalleServicio(numeroCuenta);
return Inscripcion.update(
{ motivo: body.motivo },
{
where: {
folio,
},
}
);
}
})
.then((res) => {
if (body.validacion === 1) {
//Insertar en AD
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;