This commit is contained in:
2021-09-02 09:33:24 -05:00
parent ff123d4ad6
commit 7fca378182
5 changed files with 89 additions and 29 deletions
+17 -13
View File
@@ -1,7 +1,7 @@
const moment = require('moment');
const Infraccion = require('../../db/tablas/Infraccion');
const { validarId, validarTexto } = require('../../helper/validar');
const dbPath = '../../db/tablas';
const Infraccion = require(`${dbPath}/Infraccion`);
const Prestamo = require(`${dbPath}/Prestamo`);
const Usuario = require(`${dbPath}/Usuario`);
const Multa = require(`${dbPath}/Multa`);
@@ -10,13 +10,14 @@ const multar = async (body) => {
const idInfraccion = validarId(body.idInfraccion);
const idPrestamo = validarId(body.idPrestamo);
const descripcion = validarTexto(body.descripcion, 'La descripción', 500);
let infraccion = {};
let prestamo = {};
let fechaFin = moment();
return Infraccion.findOne({ where: { idInfraccion } })
.then((res) => {
if (!res) throw new Error('No existe esta infracción.');
infraccion = res;
if (res.gravedad == '1') fechaFin.add(7, 'd');
else fechaFin.add(100, 'y');
return Prestamo.findOne({
where: { idPrestamo },
include: [{ model: Usuario }],
@@ -24,22 +25,25 @@ const multar = async (body) => {
})
.then((res) => {
if (!res) throw new Error('No existe este prestamo.');
console.log(res.dataValues);
return Usuario.update(
{ multa: true },
{ where: { idUsuario: res.Usuario.idUsuario } }
);
prestamo = res;
return Multa.findOne({ where: { idPrestamo } });
})
.then((res) => {
if (infraccion.gravedad === '1') fechaFin.add(7, 'd');
else fechaFin.add(100, 'y');
return Multa.create({
if (res)
throw new Error('A este prestamo ya se le ha asignado una multa.');
return Usuario.update(
{ multa: true },
{ where: { idUsuario: prestamo.Usuario.idUsuario } }
);
})
.then((res) =>
Multa.create({
descripcion,
idInfraccion,
idPrestamo,
fechaFin: fechaFin.format(),
});
})
})
)
.then((res) => ({ message: `Se multo correctamente al alumno.` }));
};