endpoint recuperar prestamo
This commit is contained in:
@@ -31,12 +31,12 @@ const pedir = async (body) => {
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res && idPrograma) {
|
||||
throw new Error('No existe ese programa.');
|
||||
throw new Error('No existe este programa.');
|
||||
}
|
||||
return Usuario.findOne({ where: { idUsuario } });
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('Ese usuario no existe.');
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
if (res.multa)
|
||||
throw new Error(
|
||||
'Este usuario tiene una multa activa, no puede solicitar un equipo de computo.'
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrera = require(`${dbPath}/Carrera`);
|
||||
const Carrito = require(`${dbPath}/Carrito`);
|
||||
const Equipo = require(`${dbPath}/Equipo`);
|
||||
const Modulo = require(`${dbPath}/Modulo`);
|
||||
const Operador = require(`${dbPath}/Operador`);
|
||||
const Prestamo = require(`${dbPath}/Prestamo`);
|
||||
const Programa = require(`${dbPath}/Programa`);
|
||||
const TipoCarrito = require(`${dbPath}/TipoCarrito`);
|
||||
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
|
||||
const prestamo = async (body) => {
|
||||
const idPrestamo = validar.validarId(body.idPrestamo);
|
||||
|
||||
return Prestamo.findOne({
|
||||
where: { idPrestamo },
|
||||
include: [
|
||||
{
|
||||
model: Equipo,
|
||||
include: [
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
},
|
||||
{ model: Programa },
|
||||
],
|
||||
},
|
||||
{ model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }] },
|
||||
{ model: Operador, as: 'OperadorRegreso' },
|
||||
{ model: Operador, as: 'OperadorEntrega' },
|
||||
],
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('No existe este prestamo.');
|
||||
delete res.dataValues.idUsuario;
|
||||
delete res.dataValues.idOperadorEntrega;
|
||||
delete res.dataValues.idOperadorRegreso;
|
||||
delete res.dataValues.idEquipo;
|
||||
delete res.dataValues.Equipo.dataValues.idPrograma;
|
||||
delete res.dataValues.Equipo.dataValues.idStatus;
|
||||
delete res.dataValues.Equipo.dataValues.idCarrito;
|
||||
delete res.dataValues.Equipo.Carrito.dataValues.idTipoCarrito;
|
||||
delete res.dataValues.Equipo.Carrito.dataValues.idModulo;
|
||||
delete res.dataValues.Usuario.dataValues.idTipoUsuario;
|
||||
delete res.dataValues.Usuario.dataValues.idCarrera;
|
||||
delete res.dataValues.Usuario.dataValues.password;
|
||||
if (!res.Equipo.Programa) delete res.dataValues.Equipo.dataValues.Programa;
|
||||
if (!res.OperadorEntrega) delete res.dataValues.OperadorEntrega;
|
||||
else delete res.dataValues.OperadorEntrega.dataValues.password;
|
||||
if (!res.OperadorRegreso) delete res.dataValues.OperadorRegreso;
|
||||
else delete res.dataValues.OperadorRegreso.dataValues.password;
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = prestamo;
|
||||
@@ -0,0 +1,43 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Carrito = require(`${dbPath}/Carrito`);
|
||||
const Equipo = require(`${dbPath}/Equipo`);
|
||||
const Modulo = require(`${dbPath}/Modulo`);
|
||||
const Prestamo = require(`${dbPath}/Prestamo`);
|
||||
const TipoCarrito = require(`${dbPath}/TipoCarrito`);
|
||||
|
||||
const prestamo = async (body) => {
|
||||
const idUsuario = validar.validarId(body.idUsuario);
|
||||
|
||||
return Prestamo.findOne({
|
||||
where: { idUsuario, activo: true },
|
||||
include: [
|
||||
{
|
||||
model: Equipo,
|
||||
include: [
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('Este usuario no tiene un prestamo activo.');
|
||||
delete res.dataValues.idUsuario;
|
||||
delete res.dataValues.idOperadorEntrega;
|
||||
delete res.dataValues.idOperadorRegreso;
|
||||
delete res.dataValues.idEquipo;
|
||||
delete res.dataValues.Equipo.dataValues.idPrograma;
|
||||
delete res.dataValues.Equipo.dataValues.idStatus;
|
||||
delete res.dataValues.Equipo.dataValues.idCarrito;
|
||||
delete res.dataValues.Equipo.Carrito.dataValues.idTipoCarrito;
|
||||
delete res.dataValues.Equipo.Carrito.dataValues.idModulo;
|
||||
// delete res.dataValues.Usuario.dataValues.idTipoUsuario;
|
||||
// delete res.dataValues.Usuario.dataValues.idCarrera;
|
||||
// delete res.dataValues.Usuario.dataValues.password;
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = prestamo;
|
||||
@@ -1,12 +1,16 @@
|
||||
const validar = require('../../helper/validar');
|
||||
const dbPath = '../../db/tablas';
|
||||
const Prestamo = require(`${dbPath}/Prestamo`);
|
||||
const Carrito = require(`${dbPath}/Carrito`);
|
||||
const Equipo = require(`${dbPath}/Equipo`);
|
||||
const Modulo = require(`${dbPath}/Modulo`);
|
||||
const Operador = require(`${dbPath}/Operador`);
|
||||
const Prestamo = require(`${dbPath}/Prestamo`);
|
||||
const TipoCarrito = require(`${dbPath}/TipoCarrito`);
|
||||
|
||||
const recoger = async (body) => {
|
||||
const idPrestamo = validar.validarId(body.idPrestamo);
|
||||
const idOperadorEntrega = validar.validarId(body.idOperadorEntrega);
|
||||
let idEquipo;
|
||||
|
||||
return Operador.findOne({ where: { idOperador: idOperadorEntrega } })
|
||||
.then((res) => {
|
||||
@@ -21,18 +25,31 @@ const recoger = async (body) => {
|
||||
if (!res.activo) throw new Error('Este prestamo ya no esta activo.');
|
||||
if (res.Equipo.enUso)
|
||||
throw new Error('Ya se entrego el equipo al usuario.');
|
||||
return Equipo.update(
|
||||
{ enUso: true },
|
||||
{ where: { idEquipo: res.Equipo.idEquipo } }
|
||||
);
|
||||
idEquipo = res.Equipo.idEquipo;
|
||||
return Equipo.update({ enUso: true }, { where: { idEquipo } });
|
||||
})
|
||||
.then((res) => {
|
||||
Prestamo.update({ idOperadorEntrega }, { where: { idPrestamo } });
|
||||
})
|
||||
.then((res) => ({
|
||||
message:
|
||||
'Se ha activado correctamente el equio de computo. Puedes llevartelo.',
|
||||
}));
|
||||
.then((res) => {
|
||||
return Equipo.findOne({
|
||||
where: { idEquipo },
|
||||
include: [
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
},
|
||||
],
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
delete res.dataValues.idCarrito;
|
||||
delete res.dataValues.idStatus;
|
||||
delete res.dataValues.idPrograma;
|
||||
delete res.dataValues.Carrito.dataValues.idTipoCarrito;
|
||||
delete res.dataValues.Carrito.dataValues.idModulo;
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = recoger;
|
||||
|
||||
@@ -23,7 +23,6 @@ const recoger = async (body) => {
|
||||
if (!res.activo) throw new Error('Este prestamo ya no esta activo.');
|
||||
if (!res.Equipo.enUso)
|
||||
throw new Error('Aun no se ha entregado el equipo al usuario.');
|
||||
if (res) throw new Error('.');
|
||||
return Equipo.update(
|
||||
{ enUso: false, apartado: false },
|
||||
{ where: { idEquipo: res.Equipo.idEquipo } }
|
||||
@@ -36,7 +35,7 @@ const recoger = async (body) => {
|
||||
);
|
||||
})
|
||||
.then((res) => ({
|
||||
message: 'Se ha entregado correctamente el equio de computo.',
|
||||
message: 'Se ha regresado correctamente el equio de computo.',
|
||||
}));
|
||||
};
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ const historialUsuario = require(`${controllerPath}/historialUsuario`);
|
||||
const pedir = require(`${controllerPath}/pedir`);
|
||||
const recoger = require(`${controllerPath}/recoger`);
|
||||
const regresar = require(`${controllerPath}/regresar`);
|
||||
const prestamo = require(`${controllerPath}/prestamo`);
|
||||
const prestamoUsuario = require(`${controllerPath}/prestamoUsuario`);
|
||||
|
||||
app.post(
|
||||
`${route}/pedir`,
|
||||
@@ -108,4 +110,33 @@ app.get(
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
app.get(
|
||||
`${route}`,
|
||||
// verificaToken,
|
||||
(req, res) => {
|
||||
return prestamo(req.query)
|
||||
.then((data) => {
|
||||
res.status(200).json(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
res.status(400).json({ message: err.message });
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
app.get(
|
||||
`${route}/prestamo_usuario`,
|
||||
// verificaToken,
|
||||
(req, res) => {
|
||||
return prestamoUsuario(req.query)
|
||||
.then((data) => {
|
||||
res.status(200).json(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
res.status(400).json({ message: err.message });
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
module.exports = app;
|
||||
|
||||
Reference in New Issue
Block a user