const { Op } = require('sequelize'); const validar = require('../../helper/validar'); const dbPath = '../../db/tablas'; const Carrera = require(`${dbPath}/Carrera`); const TipoUsuario = require(`${dbPath}/TipoUsuario`); const Usuario = require(`${dbPath}/Usuario`); const usuarios = async (body) => { const pagina = validar.validarNumero( body.pagina, 'página', false, null, true, true ); const usuario = body.usuario ? validar.validarNumeroCuenta(body.usuario) : ''; const nombre = body.nombre ? validar.validarTexto(body.nombre, 'nombre', true, 70) : ''; const idTipoUsuario = body.idTipoUsuario ? validar.validarNumeroEntero(body.idTipoUsuario, 'id tipo usuario', true) : ''; return Usuario.findAndCountAll({ where: { usuario: { [Op.like]: `%${usuario}%` }, nombre: { [Op.like]: `%${nombre}%` }, password: { [Op.ne]: null }, idTipoUsuario: { [Op.like]: `%${idTipoUsuario}%` }, }, include: [{ model: TipoUsuario }, { model: Carrera }], attributes: ['idUsuario', 'usuario', 'nombre', 'multa', 'activo'], limit: 25, offset: 25 * (pagina - 1), }); }; module.exports = usuarios;