Files
inscripciones_api/server/controller/Admin/actualizarTicket.js
T

58 lines
1.4 KiB
JavaScript
Raw Normal View History

2022-03-15 18:26:51 -06:00
const dbPath = '../../db/tablas';
2022-09-02 12:54:58 -05:00
const { validarNumeroEntero, validarNumero } = require('../../helper/validar');
2022-03-21 14:03:30 -06:00
const { Op } = require('sequelize');
2022-03-15 18:26:51 -06:00
const Inscripcion = require(`${dbPath}/Inscripcion`);
const actualizarTicket = async (body) => {
const idInscripcion = validarNumeroEntero(
body.idInscripcion,
'id Inscripcion',
true
);
2022-09-02 12:54:58 -05:00
const monto = validarNumero(body.monto, 'monto', true, null, false);
2022-03-21 15:17:20 -06:00
const folio = validarNumeroEntero(body.folio, 'folio', true);
2022-03-21 14:03:30 -06:00
2022-03-15 18:26:51 -06:00
return Inscripcion.findOne({
2022-03-21 14:03:30 -06:00
where: {
idInscripcion,
},
2022-03-15 18:26:51 -06:00
})
.then((res) => {
if (!res) throw new Error('No pudimos encontrar este ticket.');
2022-03-21 14:03:30 -06:00
return Inscripcion.findOne({
where: {
2022-03-21 15:17:20 -06:00
folio,
2022-03-21 14:03:30 -06:00
cancelacion: 0,
2022-03-21 15:17:20 -06:00
idInscripcion: { [Op.ne]: idInscripcion },
2022-03-21 14:03:30 -06:00
},
});
})
.then((res) => {
if (res)
throw new Error('¡ Este folio ya fue utilizado por otra inscripción !');
})
.then((res) => {
2022-03-15 18:26:51 -06:00
return Inscripcion.update(
{
2022-03-21 15:17:20 -06:00
folio,
2022-03-21 14:03:30 -06:00
monto,
2022-03-15 18:26:51 -06:00
fechaTicket: body.fechaTicket,
},
{
where: {
idInscripcion,
},
}
);
})
.then((res) => ({
message:
'¡ Los datos de la inscripción fueron actualizados de forma correcta !',
}))
.catch((err) => {
2022-03-21 14:03:30 -06:00
throw new Error('No fue posible actualizar los datos del ticket. ' + err);
2022-03-15 18:26:51 -06:00
});
};
module.exports = actualizarTicket;