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;