attributes específicos
This commit is contained in:
Generated
+781
-911
File diff suppressed because it is too large
Load Diff
@@ -10,10 +10,9 @@ const carrito = async (body) => {
|
||||
return Carrito.findOne({
|
||||
where: { idCarrito },
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre', 'activo'],
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('No existe este carrito.');
|
||||
delete res.dataValues.idTipoCarrito;
|
||||
delete res.dataValues.idModulo;
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -6,12 +6,7 @@ const TipoCarrito = require(`${dbPath}/TipoCarrito`);
|
||||
const carritos = async () => {
|
||||
return Carrito.findAll({
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.length; i++) {
|
||||
delete res[i].dataValues.idTipoCarrito;
|
||||
delete res[i].dataValues.idModulo;
|
||||
}
|
||||
return res;
|
||||
attributes: ['idCarrito', 'sobrenombre', 'activo'],
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -8,22 +8,21 @@ const Status = require(`${dbPath}/Status`);
|
||||
const equiposCarrito = async (body) => {
|
||||
const idCarrito = validarNumeroEntero(body.idCarrito, 'id carrito', true);
|
||||
|
||||
return Carrito.findOne({ where: { idCarrito } })
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('No existe este carrito.');
|
||||
return Equipo.findAll({
|
||||
where: { idCarrito },
|
||||
include: [{ model: Status }, { model: Programa }],
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
for (let i = 0; i < res.length; i++) {
|
||||
delete res[i].dataValues.idCarrito;
|
||||
delete res[i].dataValues.idStatus;
|
||||
delete res[i].dataValues.idPrograma;
|
||||
}
|
||||
return res;
|
||||
return Carrito.findOne({ where: { idCarrito } }).then((res) => {
|
||||
if (!res) throw new Error('No existe este carrito.');
|
||||
return Equipo.findAll({
|
||||
where: { idCarrito },
|
||||
include: [{ model: Status }, { model: Programa }],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
'apartado',
|
||||
'enUso',
|
||||
],
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = equiposCarrito;
|
||||
|
||||
@@ -18,18 +18,24 @@ const equipo = async (body) => {
|
||||
return Equipo.findOne({
|
||||
where: { numeroInventario },
|
||||
include: [
|
||||
{ model: Carrito, include: [{ model: TipoCarrito }, { model: Modulo }] },
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre', 'activo'],
|
||||
},
|
||||
{ model: Status },
|
||||
{ model: Programa },
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
'apartado',
|
||||
'enUso',
|
||||
],
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('No existe este equipo.');
|
||||
delete res.dataValues.idCarrito;
|
||||
delete res.dataValues.idPrograma;
|
||||
delete res.dataValues.idStatus;
|
||||
delete res.dataValues.Carrito.dataValues.idTipoCarrito;
|
||||
delete res.dataValues.Carrito.dataValues.idModulo;
|
||||
if (!res.Programa) delete res.dataValues.Programa;
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -7,21 +7,20 @@ const TipoCarrito = require(`${dbPath}/TipoCarrito`);
|
||||
const equipos = async () => {
|
||||
return Carrito.findAll({
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre', 'activo'],
|
||||
}).then(async (res) => {
|
||||
for (let i = 0; i < res.length; i++) {
|
||||
for (let i = 0; i < res.length; i++)
|
||||
res[i].dataValues.Equipos = await Equipo.findAll({
|
||||
where: { idCarrito: res[i].idCarrito },
|
||||
}).then((res) => {
|
||||
for (let j = 0; j < res.length; j++) {
|
||||
delete res[j].dataValues.idCarrito;
|
||||
delete res[j].dataValues.idStatus;
|
||||
delete res[j].dataValues.idPrograma;
|
||||
}
|
||||
return res;
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
'apartado',
|
||||
'enUso',
|
||||
],
|
||||
});
|
||||
delete res[i].dataValues.idTipoCarrito;
|
||||
delete res[i].dataValues.idModulo;
|
||||
}
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -24,28 +24,28 @@ const historialMultasEquipo = async (body) => {
|
||||
{
|
||||
model: Prestamo,
|
||||
where: { idEquipo },
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'canceladoUsuario',
|
||||
'createdAt',
|
||||
],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorMulta',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{ model: Operador, as: 'OperadorMulta' },
|
||||
],
|
||||
attributes: ['idMulta', 'descripcion', 'fechaFin', 'createdAt'],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
order: [['createdAt', 'DESC']],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.idInfraccion;
|
||||
delete res.rows[i].dataValues.idPrestamo;
|
||||
delete res.rows[i].dataValues.idOperadorMulta;
|
||||
delete res.rows[i].dataValues.OperadorMulta.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorMulta.dataValues.idTipoUsuario;
|
||||
delete res.rows[i].dataValues.OperadorMulta.dataValues.activo;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorEntrega;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorRegreso;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorCancelacion;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idUsuario;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idEquipo;
|
||||
}
|
||||
return { count: res.count, historialMultasEquipo: res.rows };
|
||||
});
|
||||
}).then((res) => ({ count: res.count, historialMultasEquipo: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = historialMultasEquipo;
|
||||
|
||||
@@ -36,43 +36,40 @@ const historialMultasUsuario = async (body) => {
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: Modulo }, { model: TipoCarrito }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'canceladoUsuario',
|
||||
'createdAt',
|
||||
],
|
||||
},
|
||||
{ model: Infraccion },
|
||||
{ model: Operador, as: 'OperadorMulta' },
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorMulta',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
],
|
||||
attributes: ['idMulta', 'descripcion', 'fechaFin', 'createdAt'],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
order: [['createdAt', 'DESC']],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.idInfraccion;
|
||||
delete res.rows[i].dataValues.idPrestamo;
|
||||
delete res.rows[i].dataValues.idOperadorMulta;
|
||||
delete res.rows[i].dataValues.OperadorMulta.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorMulta.dataValues.idTipoUsuario;
|
||||
delete res.rows[i].dataValues.OperadorMulta.dataValues.activo;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorEntrega;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorRegreso;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idOperadorCancelacion;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idUsuario;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.idEquipo;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues
|
||||
.idCarrito;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues
|
||||
.idStatus;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues
|
||||
.idPrograma;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues
|
||||
.Carrito.dataValues.idTipoCarrito;
|
||||
delete res.rows[i].dataValues.Prestamo.dataValues.Equipo.dataValues
|
||||
.Carrito.dataValues.idModulo;
|
||||
}
|
||||
return { count: res.count, historialMultasUsuario: res.rows };
|
||||
});
|
||||
}).then((res) => ({ count: res.count, historialMultasUsuario: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = historialMultasUsuario;
|
||||
|
||||
@@ -17,24 +17,26 @@ const login = async (body) => {
|
||||
|
||||
return Operador.findOne({
|
||||
where: { operador },
|
||||
include: [{ model: TipoUsuario }],
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('No existe este operador.');
|
||||
if (!res.activo) throw new Error('Este operador no esta activo.');
|
||||
if (comparar(password, res.password)) {
|
||||
delete res.dataValues.password;
|
||||
delete res.dataValues.activo;
|
||||
delete res.dataValues.idTipoUsuario;
|
||||
return {
|
||||
Operador: res,
|
||||
token: crearTokenOperador({
|
||||
idOperador: res.idOperador,
|
||||
idTipoUsuario: res.TipoUsuario.idTipoUsuario,
|
||||
}),
|
||||
};
|
||||
}
|
||||
throw new Error('La contraseña es incorrecta.');
|
||||
});
|
||||
attributes: ['idOperador', 'password', 'activo'],
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('No existe este operador.');
|
||||
if (!res.activo) throw new Error('Este operador no esta activo.');
|
||||
if (!comparar(password, res.password))
|
||||
throw new Error('La contraseña es incorrecta.');
|
||||
return Operador.findOne({
|
||||
where: { operador },
|
||||
include: [{ model: TipoUsuario }],
|
||||
attributes: ['idOperador', 'operador', 'activo'],
|
||||
});
|
||||
})
|
||||
.then((res) => ({
|
||||
Operador: res,
|
||||
token: crearTokenOperador({
|
||||
idOperador: res.idOperador,
|
||||
idTipoUsuario: res.TipoUsuario.idTipoUsuario,
|
||||
}),
|
||||
}));
|
||||
};
|
||||
|
||||
module.exports = login;
|
||||
|
||||
@@ -17,15 +17,10 @@ const operadores = async (body) => {
|
||||
return Operador.findAndCountAll({
|
||||
where: { idTipoUsuario: 2 },
|
||||
include: [{ model: TipoUsuario }],
|
||||
attributes: ['idOperador', 'operador', 'activo'],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.password;
|
||||
delete res.rows[i].dataValues.idTipoUsuario;
|
||||
}
|
||||
return { count: res.count, operadores: res.rows };
|
||||
});
|
||||
}).then((res) => ({ count: res.count, operadores: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = operadores;
|
||||
|
||||
@@ -56,44 +56,40 @@ const activos = async (body) => {
|
||||
model: Carrito,
|
||||
where: { [Op.and]: whereCarrito },
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
'apartado',
|
||||
'enUso',
|
||||
],
|
||||
},
|
||||
{
|
||||
model: Usuario,
|
||||
where: { usuario: { [Op.like]: `%${usuario}%` } },
|
||||
include: [{ model: TipoUsuario }, { model: Carrera }],
|
||||
attributes: ['idUsuario', 'usuario', 'nombre'],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'createdAt',
|
||||
],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
order: [['createdAt', 'DESC']],
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.idUsuario;
|
||||
delete res.rows[i].dataValues.idOperadorEntrega;
|
||||
delete res.rows[i].dataValues.idOperadorRegreso;
|
||||
delete res.rows[i].dataValues.idOperadorCancelacion;
|
||||
delete res.rows[i].dataValues.idEquipo;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idPrograma;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idStatus;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idCarrito;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues
|
||||
.idTipoCarrito;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues
|
||||
.idModulo;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues
|
||||
.activo;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.idTipoUsuario;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.multa;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.activo;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.idCarrera;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.password;
|
||||
}
|
||||
return { count: res.count, activos: res.rows };
|
||||
});
|
||||
.then((res) => ({ count: res.count, activos: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = activos;
|
||||
|
||||
@@ -51,8 +51,8 @@ const entregar = async (body) => {
|
||||
{ where: { idPrestamo } }
|
||||
);
|
||||
})
|
||||
.then((res) => {
|
||||
return Equipo.findOne({
|
||||
.then((res) =>
|
||||
Equipo.findOne({
|
||||
where: { idEquipo },
|
||||
include: [
|
||||
{
|
||||
@@ -60,16 +60,14 @@ const entregar = async (body) => {
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
},
|
||||
],
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
delete res.dataValues.idCarrito;
|
||||
delete res.dataValues.idStatus;
|
||||
delete res.dataValues.idPrograma;
|
||||
delete res.dataValues.Carrito.dataValues.idTipoCarrito;
|
||||
delete res.dataValues.Carrito.dataValues.idModulo;
|
||||
return res;
|
||||
});
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = entregar;
|
||||
|
||||
@@ -59,54 +59,48 @@ const historial = async (body) => {
|
||||
model: Carrito,
|
||||
where: { [Op.and]: whereCarrito },
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
'updatedAt',
|
||||
],
|
||||
},
|
||||
{
|
||||
model: Usuario,
|
||||
where: { usuario: { [Op.like]: `%${usuario}%` } },
|
||||
include: [{ model: TipoUsuario }, { model: Carrera }],
|
||||
attributes: ['idUsuario', 'usuario', 'nombre'],
|
||||
},
|
||||
{ model: Operador, as: 'OperadorRegreso' },
|
||||
{ model: Operador, as: 'OperadorEntrega' },
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorEntrega',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorRegreso',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'canceladoUsuario',
|
||||
'createdAt',
|
||||
],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
order: [['createdAt', 'DESC']],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.idUsuario;
|
||||
delete res.rows[i].dataValues.idOperadorEntrega;
|
||||
delete res.rows[i].dataValues.idOperadorRegreso;
|
||||
delete res.rows[i].dataValues.idEquipo;
|
||||
delete res.rows[i].dataValues.idOperadorCancelacion;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idPrograma;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idStatus;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idCarrito;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.updatedAt;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues
|
||||
.idTipoCarrito;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues
|
||||
.idModulo;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues.activo;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.idTipoUsuario;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.idCarrera;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.password;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.activo;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.multa;
|
||||
if (res.rows[i].OperadorEntrega) {
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.idTipoUsuario;
|
||||
}
|
||||
if (res.rows[i].OperadorRegreso) {
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.idTipoUsuario;
|
||||
}
|
||||
}
|
||||
return { count: res.count, historial: res.rows };
|
||||
});
|
||||
}).then((res) => ({ count: res.count, historial: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = historial;
|
||||
|
||||
@@ -24,47 +24,51 @@ const historialEquipo = async (body) => {
|
||||
|
||||
return Prestamo.findAndCountAll({
|
||||
include: [
|
||||
{ model: Equipo, where: { idEquipo } },
|
||||
{ model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }] },
|
||||
{ model: Operador, as: 'OperadorRegreso' },
|
||||
{ model: Operador, as: 'OperadorEntrega' },
|
||||
{ model: Operador, as: 'OperadorCancelacion' },
|
||||
{
|
||||
model: Equipo,
|
||||
where: { idEquipo },
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
},
|
||||
{
|
||||
model: Usuario,
|
||||
include: [{ model: TipoUsuario }, { model: Carrera }],
|
||||
attributes: ['idUsuario', 'usuario', 'nombre'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorEntrega',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorRegreso',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorCancelacion',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'canceladoUsuario',
|
||||
'createdAt',
|
||||
],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
order: [['createdAt', 'DESC']],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.idUsuario;
|
||||
delete res.rows[i].dataValues.idOperadorEntrega;
|
||||
delete res.rows[i].dataValues.idOperadorRegreso;
|
||||
delete res.rows[i].dataValues.idOperadorCancelacion;
|
||||
delete res.rows[i].dataValues.idEquipo;
|
||||
delete res.rows[i].dataValues.Equipo;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.idTipoUsuario;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.idCarrera;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.password;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.multa;
|
||||
delete res.rows[i].dataValues.Usuario.dataValues.activo;
|
||||
if (res.rows[i].OperadorEntrega) {
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.idTipoUsuario;
|
||||
}
|
||||
if (res.rows[i].OperadorRegreso) {
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.idTipoUsuario;
|
||||
}
|
||||
if (res.rows[i].OperadorCancelacion) {
|
||||
delete res.rows[i].dataValues.OperadorCancelacion.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorCancelacion.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorCancelacion.dataValues
|
||||
.idTipoUsuario;
|
||||
}
|
||||
}
|
||||
return { count: res.count, historialEquipo: res.rows };
|
||||
});
|
||||
}).then((res) => ({ count: res.count, historialEquipo: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = historialEquipo;
|
||||
|
||||
@@ -32,54 +32,52 @@ const historialUsuario = async (body) => {
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
{ model: Programa },
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
},
|
||||
{
|
||||
model: Usuario,
|
||||
where: { idUsuario },
|
||||
attributes: ['idUsuario', 'usuario', 'nombre'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorEntrega',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorRegreso',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorCancelacion',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{ model: Usuario, where: { idUsuario } },
|
||||
{ model: Operador, as: 'OperadorRegreso' },
|
||||
{ model: Operador, as: 'OperadorEntrega' },
|
||||
{ model: Operador, as: 'OperadorCancelacion' },
|
||||
],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
order: [['createdAt', 'DESC']],
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.idOperadorEntrega;
|
||||
delete res.rows[i].dataValues.idOperadorRegreso;
|
||||
delete res.rows[i].dataValues.idOperadorCancelacion;
|
||||
delete res.rows[i].dataValues.idUsuario;
|
||||
delete res.rows[i].dataValues.idEquipo;
|
||||
delete res.rows[i].dataValues.Usuario;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idCarrito;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idStatus;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.idPrograma;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.updatedAt;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues
|
||||
.idModulo;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues
|
||||
.idTipoCarrito;
|
||||
delete res.rows[i].dataValues.Equipo.dataValues.Carrito.dataValues.activo;
|
||||
if (res.rows[i].OperadorEntrega) {
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorEntrega.dataValues.idTipoUsuario;
|
||||
}
|
||||
if (res.rows[i].OperadorRegreso) {
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorRegreso.dataValues.idTipoUsuario;
|
||||
}
|
||||
if (res.rows[i].OperadorCancelacion) {
|
||||
delete res.rows[i].dataValues.OperadorCancelacion.dataValues.password;
|
||||
delete res.rows[i].dataValues.OperadorCancelacion.dataValues.activo;
|
||||
delete res.rows[i].dataValues.OperadorCancelacion.dataValues
|
||||
.idTipoUsuario;
|
||||
}
|
||||
}
|
||||
return { count: res.count, historialUsuario: res.rows };
|
||||
});
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'canceladoUsuario',
|
||||
'createdAt',
|
||||
],
|
||||
}).then((res) => ({ count: res.count, historialUsuario: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = historialUsuario;
|
||||
|
||||
@@ -100,8 +100,8 @@ const pedir = async (body) => {
|
||||
idEquipo,
|
||||
})
|
||||
)
|
||||
.then((res) => {
|
||||
return Prestamo.findOne({
|
||||
.then((res) =>
|
||||
Prestamo.findOne({
|
||||
where: { idPrestamo: res.idPrestamo },
|
||||
include: [
|
||||
{
|
||||
@@ -110,28 +110,29 @@ const pedir = async (body) => {
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: Modulo }, { model: TipoCarrito }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
{ model: Programa },
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
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.idCarrito;
|
||||
delete res.dataValues.Equipo.dataValues.idStatus;
|
||||
delete res.dataValues.Equipo.dataValues.idPrograma;
|
||||
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;
|
||||
return res;
|
||||
});
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'createdAt',
|
||||
],
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = pedir;
|
||||
|
||||
@@ -23,43 +23,44 @@ const prestamo = async (body) => {
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
{ model: Programa },
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
},
|
||||
{ model: Usuario, include: [{ model: TipoUsuario }, { model: Carrera }] },
|
||||
{ model: Operador, as: 'OperadorRegreso' },
|
||||
{ model: Operador, as: 'OperadorEntrega' },
|
||||
{
|
||||
model: Usuario,
|
||||
include: [{ model: TipoUsuario }, { model: Carrera }],
|
||||
attributes: ['idUsuario', 'usuario', 'nombre'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorEntrega',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
{
|
||||
model: Operador,
|
||||
as: 'OperadorRegreso',
|
||||
attributes: ['idOperador', 'operador'],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'createdAt',
|
||||
],
|
||||
}).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;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -11,42 +11,41 @@ const Usuario = require(`${dbPath}/Usuario`);
|
||||
const prestamo = async (body) => {
|
||||
const idUsuario = validarNumeroEntero(body.idUsuario, 'id usuario', true);
|
||||
|
||||
return Usuario.findOne({ where: { idUsuario } })
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
return Usuario.findOne({ where: { idUsuario } }).then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
|
||||
return Prestamo.findOne({
|
||||
where: { idUsuario, activo: true },
|
||||
include: [
|
||||
{
|
||||
model: Equipo,
|
||||
include: [
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
},
|
||||
{ model: Programa },
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) return null;
|
||||
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;
|
||||
return res;
|
||||
return Prestamo.findOne({
|
||||
where: { idUsuario, activo: true },
|
||||
include: [
|
||||
{
|
||||
model: Equipo,
|
||||
include: [
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
{ model: Programa },
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'createdAt',
|
||||
],
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = prestamo;
|
||||
|
||||
@@ -21,25 +21,30 @@ const status = async (body) => {
|
||||
{
|
||||
model: Carrito,
|
||||
include: [{ model: TipoCarrito }, { model: Modulo }],
|
||||
attributes: ['idCarrito', 'sobrenombre'],
|
||||
},
|
||||
{ model: Programa },
|
||||
],
|
||||
attributes: [
|
||||
'idEquipo',
|
||||
'numeroSerie',
|
||||
'numeroInventario',
|
||||
'sobrenombre',
|
||||
],
|
||||
},
|
||||
],
|
||||
attributes: [
|
||||
'idPrestamo',
|
||||
'activo',
|
||||
'horaMaxRecoger',
|
||||
'horaInicio',
|
||||
'horaFin',
|
||||
'horaEntrega',
|
||||
'canceladoUsuario',
|
||||
'createdAt',
|
||||
],
|
||||
}).then(async (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;
|
||||
if (!res.activo) {
|
||||
if (!res.horaEntrega)
|
||||
return {
|
||||
|
||||
@@ -10,70 +10,59 @@ const escolares = async (body) => {
|
||||
|
||||
return Usuario.findOne({
|
||||
where: { usuario: numeroCuenta },
|
||||
include: [{ model: Carrera }, { model: TipoUsuario }],
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) {
|
||||
let usuario = { Carrera: {} };
|
||||
let esAlumno = false;
|
||||
attributes: ['idUsuario', 'password'],
|
||||
}).then((res) => {
|
||||
if (!res) {
|
||||
let usuario = { Carrera: null };
|
||||
let esAlumno = false;
|
||||
|
||||
return obtenerAlumno(numeroCuenta)
|
||||
.then(async (res) => {
|
||||
if (!res) return obtenerProfesor(numeroCuenta);
|
||||
esAlumno = true;
|
||||
return res;
|
||||
})
|
||||
.then(async (res) => {
|
||||
usuario = res;
|
||||
if (!usuario)
|
||||
throw new Error(
|
||||
'Este número de cuenta o de trabajador no existe.'
|
||||
);
|
||||
if (esAlumno) {
|
||||
if (usuario.inscrito != 'SI')
|
||||
throw new Error('Este alumno no esta inscrito este semestre.');
|
||||
await Carrera.findOne({
|
||||
where: { carrera: usuario.carrera },
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) return Carrera.create({ carrera: usuario.carrera });
|
||||
return res;
|
||||
})
|
||||
.then((res) => {
|
||||
usuario.Carrera = res;
|
||||
usuario.nombre = usuario.nombre.trim();
|
||||
usuario.idTipoUsuario = 4;
|
||||
});
|
||||
} else {
|
||||
usuario.idTipoUsuario = 3;
|
||||
usuario.nombre = `${usuario.ApPaterno.trim()} ${usuario.ApMaterno.trim()} ${usuario.Nombre.trim()}`;
|
||||
}
|
||||
return Usuario.create({
|
||||
usuario: numeroCuenta,
|
||||
nombre: usuario.nombre,
|
||||
idCarrera: usuario.Carrera ? usuario.Carrera.idCarrera : null,
|
||||
idTipoUsuario: usuario.idTipoUsuario,
|
||||
return obtenerAlumno(numeroCuenta)
|
||||
.then(async (res) => {
|
||||
if (!res) return obtenerProfesor(numeroCuenta);
|
||||
esAlumno = true;
|
||||
return res;
|
||||
})
|
||||
.then(async (res) => {
|
||||
usuario = res;
|
||||
if (!usuario)
|
||||
throw new Error('Este número de cuenta o de trabajador no existe.');
|
||||
if (esAlumno) {
|
||||
if (usuario.inscrito != 'SI')
|
||||
throw new Error('Este alumno no esta inscrito este semestre.');
|
||||
usuario.nombre = usuario.nombre.trim();
|
||||
usuario.idTipoUsuario = 4;
|
||||
usuario.Carrera = await Carrera.findOne({
|
||||
where: { carrera: usuario.carrera },
|
||||
}).then((res) => {
|
||||
if (!res) return Carrera.create({ carrera: usuario.carrera });
|
||||
return res;
|
||||
});
|
||||
} else {
|
||||
usuario.idTipoUsuario = 3;
|
||||
usuario.nombre = `${usuario.ApPaterno.trim()} ${usuario.ApMaterno.trim()} ${usuario.Nombre.trim()}`;
|
||||
}
|
||||
return Usuario.create({
|
||||
usuario: numeroCuenta,
|
||||
nombre: usuario.nombre,
|
||||
idCarrera: usuario.Carrera ? usuario.Carrera.idCarrera : null,
|
||||
idTipoUsuario: usuario.idTipoUsuario,
|
||||
});
|
||||
})
|
||||
.then((res) =>
|
||||
Usuario.findOne({
|
||||
where: { usuario: numeroCuenta },
|
||||
include: [{ model: Carrera }, { model: TipoUsuario }],
|
||||
attributes: ['idUsuario', 'usuario', 'nombre'],
|
||||
})
|
||||
.then((res) =>
|
||||
Usuario.findOne({
|
||||
where: { usuario: numeroCuenta },
|
||||
include: [{ model: Carrera }, { model: TipoUsuario }],
|
||||
})
|
||||
);
|
||||
} else if (res.password)
|
||||
throw new Error('Este número de cuenta ya fue registrado.');
|
||||
return res;
|
||||
})
|
||||
.then((res) => {
|
||||
delete res.dataValues.password;
|
||||
delete res.dataValues.telefono;
|
||||
delete res.dataValues.telefono;
|
||||
delete res.dataValues.multa;
|
||||
delete res.dataValues.idTipoUsuario;
|
||||
delete res.dataValues.idCarrera;
|
||||
return res;
|
||||
);
|
||||
} else if (res.password)
|
||||
throw new Error('Este número de cuenta ya fue registrado.');
|
||||
return Usuario.findOne({
|
||||
where: { usuario: numeroCuenta },
|
||||
include: [{ model: Carrera }, { model: TipoUsuario }],
|
||||
attributes: ['idUsuario', 'usuario', 'nombre'],
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = escolares;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const { Op } = require('sequelize');
|
||||
const { crearTokenUsuario } = require('../../middleware/autentificacion');
|
||||
const helperPath = '../../helper';
|
||||
const encriptar = require(`${helperPath}/encriptar`);
|
||||
const { comparar } = require(`${helperPath}/encriptar`);
|
||||
const validar = require(`${helperPath}/validar`);
|
||||
const dbPath = '../../db/tablas';
|
||||
const Usuario = require(`${dbPath}/Usuario`);
|
||||
@@ -18,25 +18,26 @@ const login = async (body) => {
|
||||
|
||||
return Usuario.findOne({
|
||||
where: { usuario, password: { [Op.ne]: null } },
|
||||
include: [{ model: TipoUsuario }],
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
if (!res.activo) throw new Error('Este usuario fue desactivado.');
|
||||
if (encriptar.comparar(password, res.password)) {
|
||||
delete res.dataValues.password;
|
||||
delete res.dataValues.idCarrera;
|
||||
delete res.dataValues.idTipoUsuario;
|
||||
delete res.dataValues.telefono;
|
||||
return {
|
||||
Usuario: res,
|
||||
token: crearTokenUsuario({
|
||||
idUsuario: res.idUsuario,
|
||||
idTipoUsuario: res.TipoUsuario.idTipoUsuario,
|
||||
}),
|
||||
};
|
||||
}
|
||||
throw new Error('Usuario o contraseña no válidos.');
|
||||
});
|
||||
attributes: ['idUsuario', 'password', 'multa', 'activo'],
|
||||
})
|
||||
.then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
if (!res.activo) throw new Error('Este usuario fue desactivado.');
|
||||
if (!comparar(password, res.password))
|
||||
throw new Error('La contraseña es incorrecta.');
|
||||
return Usuario.findOne({
|
||||
where: { usuario },
|
||||
include: [{ model: TipoUsuario }],
|
||||
attributes: ['idUsuario', 'usuario', 'nombre', 'multa', 'activo'],
|
||||
});
|
||||
})
|
||||
.then((res) => ({
|
||||
Usuario: res,
|
||||
token: crearTokenUsuario({
|
||||
idUsuario: res.idUsuario,
|
||||
idTipoUsuario: res.TipoUsuario.idTipoUsuario,
|
||||
}),
|
||||
}));
|
||||
};
|
||||
|
||||
module.exports = login;
|
||||
|
||||
@@ -11,12 +11,16 @@ const usuario = async (body) => {
|
||||
return Usuario.findOne({
|
||||
where: { usuario, password: { [Op.ne]: null } },
|
||||
include: [{ model: TipoUsuario }, { model: Carrera }],
|
||||
attributes: [
|
||||
'idUsuario',
|
||||
'usuario',
|
||||
'nombre',
|
||||
'telefono',
|
||||
'multa',
|
||||
'activo',
|
||||
],
|
||||
}).then((res) => {
|
||||
if (!res) throw new Error('No existe este usuario.');
|
||||
delete res.dataValues.password;
|
||||
delete res.dataValues.idTipoUsuario;
|
||||
if (!res.idCarrera) delete res.dataValues.Carrera;
|
||||
delete res.dataValues.idCarrera;
|
||||
return res;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -19,17 +19,17 @@ const usuarios = async (body) => {
|
||||
return Usuario.findAndCountAll({
|
||||
where: { password: { [Op.ne]: null } },
|
||||
include: [{ model: TipoUsuario }, { model: Carrera }],
|
||||
attributes: [
|
||||
'idUsuario',
|
||||
'usuario',
|
||||
'nombre',
|
||||
'telefono',
|
||||
'multa',
|
||||
'activo',
|
||||
],
|
||||
limit: 25,
|
||||
offset: 25 * (pagina - 1),
|
||||
}).then((res) => {
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
delete res.rows[i].dataValues.password;
|
||||
delete res.rows[i].dataValues.idTipoUsuario;
|
||||
delete res.rows[i].dataValues.idCarrera;
|
||||
if (!res.rows[i].Carrera) delete res.rows[i].dataValues.Carrera;
|
||||
}
|
||||
return { count: res.count, usuarios: res.rows };
|
||||
});
|
||||
}).then((res) => ({ count: res.count, usuarios: res.rows }));
|
||||
};
|
||||
|
||||
module.exports = usuarios;
|
||||
|
||||
Reference in New Issue
Block a user