const { Op } = require('sequelize'); const validar = require('../../helper/validar'); const dbPath = '../../db/tablas'; const Carrera = require(`${dbPath}/Carrera`); const Servicio = require(`${dbPath}/Servicio`); const Status = require(`${dbPath}/Status`); const TipoUsuario = require(`${dbPath}/TipoUsuario`); const Usuario = require(`${dbPath}/Usuario`); const serviciosAdmin = async (body) => { const pagina = validar.validarNumero(body.pagina, true); const where = body.idStatus ? { idStatus: validar.validarId(body.idStatus) } : {}; const nombre = body.nombre ? validar.validarTexto(body.nombre, 'El nombre', 60) : ''; const numeroCuenta = body.numeroCuenta ? validar.validarNumeroCuenta(body.numeroCuenta) : ''; return Servicio.findAndCountAll({ include: [ { model: Usuario, include: { model: TipoUsuario }, where: { usuario: { [Op.like]: `%${numeroCuenta}%` }, nombre: { [Op.like]: `%${nombre}%` }, }, }, { model: Carrera }, { model: Status, where }, ], order: [['updatedAt', 'DESC']], limit: 25, offset: 25 * (pagina - 1), }).then((res) => { for (let i = 0; i < res.rows.length; i++) { // delete res.rows[i].dataValues.idUsuario } return { count: res.count, serviciosAdmin: res.rows }; }); }; module.exports = serviciosAdmin;