Files
pcpuma_acatlan_api/server/controller/Usuario/usuarios.js
T

40 lines
1.2 KiB
JavaScript
Raw Normal View History

const { Op } = require('sequelize');
2021-04-28 00:21:24 -05:00
const validar = require('../../helper/validar');
2021-05-03 23:38:03 -05:00
const dbPath = '../../db/tablas';
const Carrera = require(`${dbPath}/Carrera`);
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
2021-09-20 00:21:36 -05:00
const Usuario = require(`${dbPath}/Usuario`);
2021-04-28 00:21:24 -05:00
2021-05-04 00:32:04 -05:00
const usuarios = async (body) => {
2022-01-03 17:05:29 -06:00
const pagina = validar.validarNumero(
body.pagina,
'página',
false,
null,
true,
true
);
2022-01-24 15:58:34 -06:00
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)
: '';
2021-04-30 16:04:27 -05:00
return Usuario.findAndCountAll({
2022-01-24 15:58:34 -06:00
where: {
usuario: { [Op.like]: `%${usuario}%` },
nombre: { [Op.like]: `%${nombre}%` },
password: { [Op.ne]: null },
idTipoUsuario: { [Op.like]: `%${idTipoUsuario}%` },
},
2021-04-28 00:21:24 -05:00
include: [{ model: TipoUsuario }, { model: Carrera }],
2022-01-24 15:58:34 -06:00
attributes: ['idUsuario', 'usuario', 'nombre', 'multa', 'activo'],
2021-04-30 16:04:27 -05:00
limit: 25,
offset: 25 * (pagina - 1),
2022-01-24 15:58:34 -06:00
});
2021-04-28 00:21:24 -05:00
};
2021-05-04 00:32:04 -05:00
module.exports = usuarios;