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 pagina = validar.validarNumeroEntero(body.pagina, 'página', false); const idEquipo = validar.validarNumeroEntero( body.idEquipo, 'id equipo', true ); return Prestamo.findAndCountAll({ include: [ { model: Equipo, where: { idEquipo }, attributes: [ 'idEquipo', 'numeroSerie', 'numeroInventario', 'sobrenombre', ], }, { model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }], attributes: ['idUsuario', 'usuario', 'nombre'], }, { model: Operador, as: 'OperadorEntrega', attributes: ['idOperador', 'operador'], }, { model: Operador, as: 'OperadorRegreso', attributes: ['idOperador', 'operador'], }, { model: Operador, as: 'OperadorCancelacion', attributes: ['idOperador', 'operador'], }, ], attributes: [ 'idPrestamo', 'activo', 'horaMaxRecoger', 'horaInicio', 'horaFin', 'horaEntrega', 'canceladoUsuario', 'regresoInmediato', 'createdAt', ], limit: 25, offset: 25 * (pagina - 1), order: [['createdAt', 'DESC']], }); }; module.exports = historialEquipo;