48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
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,
|
|
},
|
|
}
|
|
);
|
|
})
|
|
.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).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;
|