const validar = require('../../helper/validar'); const dbPath = '../../db/tablas'; const Carrito = require(`${dbPath}/Carrito`); const Equipo = require(`${dbPath}/Equipo`); const Infraccion = require(`${dbPath}/Infraccion`); const Modulo = require(`${dbPath}/Modulo`); const Multa = require(`${dbPath}/Multa`); const Operador = require(`${dbPath}/Operador`); const Prestamo = require(`${dbPath}/Prestamo`); const TipoCarrito = require(`${dbPath}/TipoCarrito`); const historialMultasUsuario = async (body) => { const idUsuario = validar.validarId(body.idUsuario); const pagina = validar.validarNumero(body.pagina, true); return Multa.findAndCountAll({ include: [ { model: Prestamo, where: { idUsuario }, include: [ { model: Equipo, include: [ { model: Carrito, include: [{ model: Modulo }, { model: TipoCarrito }], }, ], }, ], }, { model: Infraccion }, { model: Operador, as: 'OperadorMulta' }, ], 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.idInfraccion; delete res.rows[i].dataValues.idPrestamo; delete res.rows[i].dataValues.idOperadorMulta; delete res.rows[i].dataValues.OperadorMulta.dataValues.password; delete res.rows[i].dataValues.OperadorMulta.dataValues.idTipoUsuario; delete res.rows[i].dataValues.OperadorMulta.dataValues.activo; delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorEntrega; delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorRegreso; delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorCancelacion; delete res.rows[i].dataValues.Prestamo.dataValues.idUsuario; delete res.rows[i].dataValues.Prestamo.dataValues.idEquipo; delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues .idCarrito; delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues .idStatus; delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues .idPrograma; delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues .Carrito.dataValues.idTipoCarrito; delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues .Carrito.dataValues.idModulo; } return { count: res.count, historialMultasUsuario: res.rows }; }); }; module.exports = historialMultasUsuario;