const dbPath = '../../db/tablas'; const Inscripcion = require(`${dbPath}/Inscripcion`); 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; return Inscripcion.update( { validacion: body.validacion, }, { where: { folio: body.folio, validacion: 2, }, } ); }) .then((res) => { if (!res) throw new Error('Este ticket ya fue validado'); 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).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); }); }; module.exports = validarTicket;