const { validarId } = 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 = 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.idOperadorCancelacion; 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.dataValues.updatedAt; delete res.dataValues.Equipo.dataValues.Carrito.dataValues.idTipoCarrito; delete res.dataValues.Equipo.dataValues.Carrito.dataValues.idModulo; delete res.dataValues.Equipo.dataValues.Carrito.dataValues.activo; delete res.dataValues.Usuario.dataValues.idTipoUsuario; delete res.dataValues.Usuario.dataValues.idCarrera; delete res.dataValues.Usuario.dataValues.password; delete res.dataValues.Usuario.dataValues.multa; delete res.dataValues.Usuario.dataValues.activo; if (res.OperadorEntrega) { delete res.dataValues.OperadorEntrega.dataValues.password; delete res.dataValues.OperadorEntrega.dataValues.activo; delete res.dataValues.OperadorEntrega.dataValues.idTipoUsuario; } if (res.OperadorRegreso) { delete res.dataValues.OperadorRegreso.dataValues.password; delete res.dataValues.OperadorRegreso.dataValues.activo; delete res.dataValues.OperadorRegreso.dataValues.idTipoUsuario; } return res; }); }; module.exports = prestamo;