Files
pcpuma_acatlan_api/server/controller/Prestamo/historialEquipo.js
T

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;