listo datos para front multas e instituciones

This commit is contained in:
lemuel 2022-07-01 16:49:56 -05:00
parent a78f1b6fc1
commit bcc39cdef2
7 changed files with 32 additions and 30 deletions

View File

@ -62,12 +62,6 @@ export class AuthService {
id_tipo_usuario: usuario.tipoUsuario.id_tipo_usuario,
};
for (let i = 0; i < usuario.instituciones.length; i++)
if (!usuario.instituciones[i].activo)
usuario.instituciones.splice(
usuario.instituciones.indexOf(usuario.instituciones[i--]),
1,
);
return { usuario, token: this.jwtService.sign(payload) };
});
}

View File

@ -1,5 +1,6 @@
import { Expose, Type } from 'class-transformer';
import { InfraccionOutputDto } from './infraccion.dto';
import { InstitucionMinOutputDto } from '../../../institucion/dto/output/institucion-min.dto';
export class InstitucionInfraccionOutputDto {
@Expose()
@ -11,4 +12,8 @@ export class InstitucionInfraccionOutputDto {
@Expose()
@Type(() => InfraccionOutputDto)
infraccion;
@Expose()
@Type(() => InstitucionMinOutputDto)
institucion;
}

View File

@ -1,11 +0,0 @@
import { Expose, Type } from 'class-transformer';
import { InstitucionCarreaOutputDto } from '../../../institucion-carrera/dto/output/institucion-carrera.dto';
export class InstitucionUsuarioMinOutputDto {
@Expose()
id_institucion_usuario;
@Expose()
@Type(() => InstitucionCarreaOutputDto)
institucionCarrera;
}

View File

@ -6,6 +6,12 @@ export class UsuarioInstitucionCarreraOutputDto {
@Expose()
id_institucion_usuario;
@Expose()
activo;
@Expose()
multa;
@Expose()
@Type(() => InstitucionCarreaOutputDto)
institucionCarrera;

View File

@ -1,7 +1,5 @@
import { Expose, Type } from 'class-transformer';
import { InstitucionInfraccionOutputDto } from '../../../institucion-infraccion/dto/output/institucion-infraccion.dto';
import { OperadorMinOutputDto } from '../../../operador/dto/output/operador-min.dto';
import { PrestamoMinOutputDto } from '../../../prestamo/dto/output/prestamo-min.dto';
export class MultasMinOutputDto {
@Expose()

View File

@ -90,7 +90,7 @@ export class MultaController {
@Serealize(MultasMinOutputDto)
@Get('multas-usuario-activas')
@ApiOperation({
description: 'Endpoint que retorna todas las multas de un usuario .',
description: 'Endpoint que retorna todas las multas de un usuario que esten activas.',
})
@ApiQuery({
description: 'Id del usuario.',

View File

@ -138,7 +138,7 @@ export class MultaService {
const query = this.repository
.createQueryBuilder('mu')
.innerJoinAndSelect('mu.institucionInfraccion', 'ii')
.innerJoinAndSelect('ii.infraccion', 'in')
.innerJoinAndSelect('ii.infraccion', 'inf')
.innerJoinAndSelect('mu.opeardorMulta', 'om')
.innerJoinAndSelect('om.tipoUsuario', 'tu')
.innerJoinAndSelect('mu.prestamo', 'p')
@ -178,7 +178,8 @@ export class MultaService {
this.repository
.createQueryBuilder('mu')
.innerJoinAndSelect('mu.institucionInfraccion', 'ii')
.innerJoinAndSelect('ii.infraccion', 'in')
.innerJoinAndSelect('ii.infraccion', 'inf')
.innerJoinAndSelect('ii.institucion', 'i')
.innerJoinAndSelect('mu.opeardorMulta', 'om')
.innerJoinAndSelect('om.tipoUsuario', 'tu')
.innerJoinAndSelect('mu.prestamo', 'p')
@ -193,7 +194,8 @@ export class MultaService {
.innerJoinAndSelect('ca.nivel', 'n')
.orderBy('mu.id_multa', 'DESC')
.skip((pagina - 1) * 25)
.take(25),
.take(25)
.getManyAndCount(),
);
}
@ -202,30 +204,38 @@ export class MultaService {
this.repository
.createQueryBuilder('mu')
.innerJoinAndSelect('mu.institucionInfraccion', 'ii')
.innerJoinAndSelect('ii.infraccion', 'in')
.innerJoinAndSelect('ii.infraccion', 'inf')
.innerJoinAndSelect('ii.institucion', 'i')
.innerJoinAndSelect('mu.opeardorMulta', 'om')
.innerJoinAndSelect('om.tipoUsuario', 'tu')
.innerJoinAndSelect('mu.prestamo', 'p')
.innerJoinAndSelect('p.equipo', 'e')
.innerJoinAndSelect('e.carrito', 'c')
.innerJoinAndSelect('c.modulo', 'm')
.innerJoinAndSelect('m.institucion', 'i')
.innerJoinAndSelect('m.institucion', 'in')
.innerJoinAndSelect('c.tipoCarrito', 'tc')
.innerJoinAndSelect('p.usuario', 'u', 'u.id_usuario = :id_usuario', {
id_usuario: usuario.id_usuario,
})
.orderBy('mu.id_multa', 'DESC')
.skip((pagina - 1) * 25)
.take(25),
.take(25)
.getManyAndCount(),
);
}
findMultasActivas(id_usuario: number) {
return this.usuarioService.findById(id_usuario).then((usuario) =>
this.repository.find({
join: { alias: 'mu', innerJoin: { p: 'mu.prestamo' } },
where: { activo: true, prestamo: { usuario } },
}),
this.repository
.createQueryBuilder('mu')
.innerJoin('mu.prestamo', 'p')
.innerJoin('p.usuario', 'u', 'u.id_usuario = :id_usuario', {
id_usuario: usuario.id_usuario,
})
.innerJoinAndSelect('mu.institucionInfraccion', 'ii')
.innerJoinAndSelect('ii.institucion', 'i')
.andWhere('mu.activo = 1')
.getMany(),
);
}
}