endpont status prestamo
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
const moment = require('moment');
|
||||
const validar = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Equipo = require(`${dbPath}/Equipo`);
|
||||
const Prestamo = require(`${dbPath}/Prestamo`);
|
||||
|
||||
const status = async (body) => {
|
||||
const ahora = moment();
|
||||
const idPrestamo = validar.validarId(body.idPrestamo);
|
||||
let idEquipo;
|
||||
|
||||
return Prestamo.findOne({
|
||||
where: { idPrestamo },
|
||||
include: [{ model: Equipo }],
|
||||
}).then(async (res) => {
|
||||
if (!res) throw new Error('No existe este prestamo.');
|
||||
idEquipo = res.Equipo.idEquipo;
|
||||
delete res.dataValues.idUsuario;
|
||||
delete res.dataValues.idEquipo;
|
||||
delete res.dataValues.idOperadorRegreso;
|
||||
delete res.dataValues.idOperadorEntrega;
|
||||
delete res.dataValues.Equipo.dataValues.idCarrito;
|
||||
delete res.dataValues.Equipo.dataValues.idStatus;
|
||||
delete res.dataValues.Equipo.dataValues.idPrograma;
|
||||
if (!res.activo) {
|
||||
if (!res.horaEntrega)
|
||||
return {
|
||||
message: 'Este prestamo fue cancelado.',
|
||||
prestamo: res,
|
||||
};
|
||||
return {
|
||||
message: 'Este prestamo no es encuentra activo.',
|
||||
prestamo: res,
|
||||
};
|
||||
} else if (res.Equipo.enUso)
|
||||
return {
|
||||
message: 'El equipo ya fue entregado al usuario.',
|
||||
prestamo: res,
|
||||
};
|
||||
else if (moment(res.horaInicio) < ahora) {
|
||||
await Equipo.update({ apartado: false }, { where: { idEquipo } });
|
||||
await Prestamo.update({ activo: false }, { where: idPrestamo });
|
||||
return {
|
||||
message: 'Ya paso el tiempo limite para recoger el dispositivo.',
|
||||
prestamo: res,
|
||||
};
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = status;
|
||||
Reference in New Issue
Block a user