diff --git a/src/carrera-programa/carrera-programa.controller.ts b/src/carrera-programa/carrera-programa.controller.ts index 8c2161c..40cc0b9 100644 --- a/src/carrera-programa/carrera-programa.controller.ts +++ b/src/carrera-programa/carrera-programa.controller.ts @@ -1,9 +1,11 @@ import { Body, Controller, Delete, Get, Post, Query } from '@nestjs/common'; import { ApiBody, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'; +import { Serealize } from '../interceptors/serialize.interceptor'; import { CarreraProgramaService } from './carrera-programa.service'; import { IdInstitucionDto } from '../dto/id-institucion.dto'; -import { CarreraProgramaCreateDto } from './dto/carrera-programa-create.dto'; -import { CarreraProgramaDeleteDto } from './dto/carrera-programa-delete.dto'; +import { CreateCarreraProgramaDto } from './dto/input/create.dto'; +import { DeleteCarreraProgramaDto } from './dto/input/delete.dto'; +import { CarreraProgramaOutputDto } from './dto/output/carrera-programa.dto'; @Controller('carrera-programa') @ApiTags('carrera-programa') @@ -21,7 +23,7 @@ export class CarreraProgramaController { ejemplo: { value: { id_institucion_carrera: 36, id_programa: 1 } }, }, }) - create(@Body() body: CarreraProgramaCreateDto) { + create(@Body() body: CreateCarreraProgramaDto) { return this.carreraProgramaService.create( body.id_institucion_carrera, body.id_programa, @@ -37,10 +39,11 @@ export class CarreraProgramaController { description: 'Es obligatorio mandar la variable id_carrera_programa.', examples: { ejemplo: { value: { id_carrera_programa: 1 } } }, }) - delete(@Body() body: CarreraProgramaDeleteDto) { + delete(@Body() body: DeleteCarreraProgramaDto) { return this.carreraProgramaService.delete(body.id_carrera_programa); } + @Serealize(CarreraProgramaOutputDto) @Get() @ApiOperation({ description: diff --git a/src/carrera-programa/carrera-programa.service.ts b/src/carrera-programa/carrera-programa.service.ts index fe39ab9..387e722 100644 --- a/src/carrera-programa/carrera-programa.service.ts +++ b/src/carrera-programa/carrera-programa.service.ts @@ -69,7 +69,7 @@ export class CarreraProgramaService { }, }, where: { - carrera: { institucion }, + institucionCarrera: { institucion }, }, }), ); diff --git a/src/carrera-programa/dto/carrera-programa-create.dto.ts b/src/carrera-programa/dto/input/create.dto.ts similarity index 75% rename from src/carrera-programa/dto/carrera-programa-create.dto.ts rename to src/carrera-programa/dto/input/create.dto.ts index e958533..e2d3cde 100644 --- a/src/carrera-programa/dto/carrera-programa-create.dto.ts +++ b/src/carrera-programa/dto/input/create.dto.ts @@ -1,6 +1,6 @@ import { IsInt } from 'class-validator'; -export class CarreraProgramaCreateDto { +export class CreateCarreraProgramaDto { @IsInt() id_institucion_carrera: number; diff --git a/src/carrera-programa/dto/carrera-programa-delete.dto.ts b/src/carrera-programa/dto/input/delete.dto.ts similarity index 68% rename from src/carrera-programa/dto/carrera-programa-delete.dto.ts rename to src/carrera-programa/dto/input/delete.dto.ts index 025d7f7..8c5de10 100644 --- a/src/carrera-programa/dto/carrera-programa-delete.dto.ts +++ b/src/carrera-programa/dto/input/delete.dto.ts @@ -1,6 +1,6 @@ import { IsInt } from 'class-validator'; -export class CarreraProgramaDeleteDto { +export class DeleteCarreraProgramaDto { @IsInt() id_carrera_programa: number; } diff --git a/src/carrera-programa/dto/output/carrera-programa.dto.ts b/src/carrera-programa/dto/output/carrera-programa.dto.ts new file mode 100644 index 0000000..ac92ee9 --- /dev/null +++ b/src/carrera-programa/dto/output/carrera-programa.dto.ts @@ -0,0 +1,16 @@ +import { Expose, Type } from 'class-transformer'; +import { ProgramaOutputDto } from '../../../institucion-programa/dto/output/programa.dto'; +import { InstitucionCarreaOutputDto } from '../../../institucion-carrera/dto/output/institucion-carrera.dto'; + +export class CarreraProgramaOutputDto { + @Expose() + id_carrera_programa; + + @Expose() + @Type(() => InstitucionCarreaOutputDto) + institucionCarrera; + + @Expose() + @Type(() => ProgramaOutputDto) + programa; +} diff --git a/src/carrito/dto/output/carrito.dto.ts b/src/carrito/dto/output/carrito.dto.ts index be4b881..bfb106b 100644 --- a/src/carrito/dto/output/carrito.dto.ts +++ b/src/carrito/dto/output/carrito.dto.ts @@ -1,5 +1,5 @@ import { Expose, Type } from 'class-transformer'; -import { ModuloOutputDto } from '../../../modulo/dto/output/modulo.dto'; +import { ModuloMinOutputDto } from '../../../modulo/dto/output/modulo-min.dto'; import { TipoCarritoOutputDto } from '../../../institucion-tipo-carrito/dto/output/tipo-carrito.dto'; export class CarritoOutputDto { @@ -18,7 +18,7 @@ export class CarritoOutputDto { @Expose() modelo; - @Type(() => ModuloOutputDto) + @Type(() => ModuloMinOutputDto) @Expose() modulo; diff --git a/src/carrito/dto/output/carritos.dto.ts b/src/carrito/dto/output/carritos.dto.ts index 1e15d2e..b56eaac 100644 --- a/src/carrito/dto/output/carritos.dto.ts +++ b/src/carrito/dto/output/carritos.dto.ts @@ -1,6 +1,6 @@ import { Expose, Type } from 'class-transformer'; import { TipoCarritoOutputDto } from '../../../institucion-tipo-carrito/dto/output/tipo-carrito.dto'; -import { ModuloOutputDto } from '../../../modulo/dto/output/modulo.dto'; +import { ModuloMinOutputDto } from '../../../modulo/dto/output/modulo-min.dto'; export class CarritosOutputDto { @Expose() @@ -12,7 +12,7 @@ export class CarritosOutputDto { @Expose() activo; - @Type(() => ModuloOutputDto) + @Type(() => ModuloMinOutputDto) @Expose() modulo; diff --git a/src/equipo/equipo.service.ts b/src/equipo/equipo.service.ts index ea25c1b..6a7bff4 100644 --- a/src/equipo/equipo.service.ts +++ b/src/equipo/equipo.service.ts @@ -118,6 +118,7 @@ export class EquipoService { .innerJoinAndSelect('tes.tipoEntrada', 'te') .innerJoinAndSelect('e.programas', 'ps') .innerJoinAndSelect('ps.programa', 'p') + .innerJoinAndSelect('m.institucion', 'i') .take(15) .skip((parseInt(filtros.pagina) - 1) * 15); diff --git a/src/institucion/dto/output/institucion.dto.ts b/src/institucion/dto/output/institucion.dto.ts index 9d53d93..873273c 100644 --- a/src/institucion/dto/output/institucion.dto.ts +++ b/src/institucion/dto/output/institucion.dto.ts @@ -22,9 +22,6 @@ export class InstitucionOutputDto { @Expose() institucion; - @Expose() - logo; - @Expose() responsable; diff --git a/src/institucion/dto/output/instituciones.dto.ts b/src/institucion/dto/output/instituciones.dto.ts index c76df23..52030ce 100644 --- a/src/institucion/dto/output/instituciones.dto.ts +++ b/src/institucion/dto/output/instituciones.dto.ts @@ -7,8 +7,8 @@ export class InstitucionesOutputDto { @Expose() institucion; - @Expose() - dominio; + // @Expose() + // dominio; @Expose() email_institucional; diff --git a/src/institucion/institucion.controller.ts b/src/institucion/institucion.controller.ts index 0a2d6f5..2634876 100644 --- a/src/institucion/institucion.controller.ts +++ b/src/institucion/institucion.controller.ts @@ -6,13 +6,14 @@ import { IdInstitucionDto } from '../dto/id-institucion.dto'; import { UpdateInstitucionDto } from './dto/input/update.dto'; import { InstitucionOutputDto } from './dto/output/institucion.dto'; import { InstitucionesOutputDto } from './dto/output/instituciones.dto'; +import { InstitucionMinOutputDto } from './dto/output/institucion-min.dto'; @Controller('institucion') @ApiTags('institucion') export class InstitucionController { constructor(private institucionService: InstitucionService) {} - @Serealize(InstitucionesOutputDto) + @Serealize(InstitucionMinOutputDto) @Get() @ApiOperation({ description: 'Endpoint que retorna todas las instituciones.', diff --git a/src/modulo/dto/output/modulo-min.dto.ts b/src/modulo/dto/output/modulo-min.dto.ts new file mode 100644 index 0000000..c57fce9 --- /dev/null +++ b/src/modulo/dto/output/modulo-min.dto.ts @@ -0,0 +1,14 @@ +import { Expose, Type } from 'class-transformer'; +import { InstitucionMinOutputDto } from '../../../institucion/dto/output/institucion-min.dto'; + +export class ModuloMinOutputDto { + @Expose() + id_modulo; + + @Expose() + modulo; + + @Expose() + @Type(() => InstitucionMinOutputDto) + institucion; +} diff --git a/src/modulo/dto/output/modulo.dto.ts b/src/modulo/dto/output/modulo.dto.ts index 700df15..3be5ba5 100644 --- a/src/modulo/dto/output/modulo.dto.ts +++ b/src/modulo/dto/output/modulo.dto.ts @@ -1,5 +1,5 @@ import { Expose, Type } from 'class-transformer'; -import { InstitucionesOutputDto } from '../../../institucion/dto/output/instituciones.dto'; +import { InstitucionMinOutputDto } from '../../../institucion/dto/output/institucion-min.dto'; export class ModuloOutputDto { @Expose() @@ -12,6 +12,6 @@ export class ModuloOutputDto { modulo; @Expose() - @Type(() => InstitucionesOutputDto) + @Type(() => InstitucionMinOutputDto) institucion; }