Files
servicio_social_api/server/controller/Usuario/responsables.js
T

35 lines
1.0 KiB
JavaScript
Raw Normal View History

2020-11-19 12:23:39 -06:00
const { Op } = require('sequelize');
const validar = require('../../helper/validar');
2021-05-05 18:49:23 -05:00
const dbPath = '../../db/tablas';
const Usuario = require(`${dbPath}/Usuario`);
const TipoUsuario = require(`${dbPath}/TipoUsuario`);
2020-11-19 12:23:39 -06:00
2021-05-05 19:16:15 -05:00
const responsables = async (body) => {
const pagina = validar.validarNumero(body.pagina, true);
2021-01-14 03:13:37 -06:00
const nombre = body.nombre
2020-11-27 12:36:53 -06:00
? validar.validarTexto(body.nombre, 'El nombre', 60)
: '';
2021-01-14 03:13:37 -06:00
const correo = body.correo
2020-11-27 12:36:53 -06:00
? validar.validar(body.correo, 'El correo', 1000)
2020-11-19 12:23:39 -06:00
: '';
2021-05-05 19:16:15 -05:00
return Usuario.findAndCountAll({
2020-12-08 21:32:58 -06:00
where: {
usuario: { [Op.like]: `%${correo}%` },
nombre: { [Op.like]: `%${nombre}%` },
idTipoUsuario: 2,
},
include: [{ model: TipoUsuario }],
2021-05-05 19:16:15 -05:00
limit: 25,
offset: 25 * (pagina - 1),
2020-12-08 21:32:58 -06:00
}).then((res) => {
2021-05-05 19:16:15 -05:00
for (let i = 0; i < res.rows.length; i++) {
2021-05-12 21:05:53 -05:00
delete res.rows[i].dataValues.password;
delete res.rows[i].dataValues.idTipoUsuario;
2021-01-14 03:13:37 -06:00
}
2021-05-05 19:16:15 -05:00
return { count: res.count, responsables: res.rows };
2020-12-08 21:32:58 -06:00
});
2020-11-19 12:23:39 -06:00
};
2021-05-05 19:16:15 -05:00
module.exports = responsables;