60 lines
2.6 KiB
JavaScript
60 lines
2.6 KiB
JavaScript
const validar = require('../../helper/validar');
|
|
const dbPath = '../../db/tablas';
|
|
const Carrera = require(`${dbPath}/Carrera`);
|
|
const Equipo = require(`${dbPath}/Equipo`);
|
|
const Operador = require(`${dbPath}/Operador`);
|
|
const Prestamo = require(`${dbPath}/Prestamo`);
|
|
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
|
|
const Usuario = require(`${dbPath}/Usuario`);
|
|
|
|
const historialEquipo = async (body) => {
|
|
const idEquipo = validar.validarId(body.idEquipo);
|
|
const pagina = validar.validarNumero(body.pagina, true);
|
|
|
|
return Prestamo.findAndCountAll({
|
|
include: [
|
|
{ model: Equipo, where: { idEquipo } },
|
|
{ model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }] },
|
|
{ model: Operador, as: 'OperadorRegreso' },
|
|
{ model: Operador, as: 'OperadorEntrega' },
|
|
{ model: Operador, as: 'OperadorCancelacion' },
|
|
],
|
|
limit: 25,
|
|
offset: 25 * (pagina - 1),
|
|
order: [['createdAt', 'DESC']],
|
|
}).then((res) => {
|
|
for (let i = 0; i < res.rows.length; i++) {
|
|
delete res.rows[i].dataValues.idUsuario;
|
|
delete res.rows[i].dataValues.idOperadorEntrega;
|
|
delete res.rows[i].dataValues.idOperadorRegreso;
|
|
delete res.rows[i].dataValues.idOperadorCancelacion;
|
|
delete res.rows[i].dataValues.idEquipo;
|
|
delete res.rows[i].dataValues.Equipo;
|
|
delete res.rows[i].dataValues.Usuario.dataValues.idTipoUsuario;
|
|
delete res.rows[i].dataValues.Usuario.dataValues.idCarrera;
|
|
delete res.rows[i].dataValues.Usuario.dataValues.password;
|
|
delete res.rows[i].dataValues.Usuario.dataValues.multa;
|
|
delete res.rows[i].dataValues.Usuario.dataValues.activo;
|
|
if (res.rows[i].OperadorEntrega) {
|
|
delete res.rows[i].dataValues.OperadorEntrega.dataValues.password;
|
|
delete res.rows[i].dataValues.OperadorEntrega.dataValues.activo;
|
|
delete res.rows[i].dataValues.OperadorEntrega.dataValues.idTipoUsuario;
|
|
}
|
|
if (res.rows[i].OperadorRegreso) {
|
|
delete res.rows[i].dataValues.OperadorRegreso.dataValues.password;
|
|
delete res.rows[i].dataValues.OperadorRegreso.dataValues.activo;
|
|
delete res.rows[i].dataValues.OperadorRegreso.dataValues.idTipoUsuario;
|
|
}
|
|
if (res.rows[i].OperadorCancelacion) {
|
|
delete res.rows[i].dataValues.OperadorCancelacion.dataValues.password;
|
|
delete res.rows[i].dataValues.OperadorCancelacion.dataValues.activo;
|
|
delete res.rows[i].dataValues.OperadorCancelacion.dataValues
|
|
.idTipoUsuario;
|
|
}
|
|
}
|
|
return { count: res.count, historialEquipo: res.rows };
|
|
});
|
|
};
|
|
|
|
module.exports = historialEquipo;
|