diff --git a/src/modulo/dto/output/only-modulo-min.dto.ts b/src/modulo/dto/output/only-modulo.dto.ts similarity index 75% rename from src/modulo/dto/output/only-modulo-min.dto.ts rename to src/modulo/dto/output/only-modulo.dto.ts index bb771c6..a4d4e63 100644 --- a/src/modulo/dto/output/only-modulo-min.dto.ts +++ b/src/modulo/dto/output/only-modulo.dto.ts @@ -1,6 +1,6 @@ import { Expose } from 'class-transformer'; -export class OnlyModuloMinOutputDto { +export class OnlyModuloOutputDto { @Expose() id_modulo; diff --git a/src/modulo/modulo.controller.ts b/src/modulo/modulo.controller.ts index a2789d3..c51aeae 100644 --- a/src/modulo/modulo.controller.ts +++ b/src/modulo/modulo.controller.ts @@ -1,7 +1,6 @@ import { Body, Controller, - ForbiddenException, Get, Post, Put, @@ -27,7 +26,7 @@ import { ModuloDto } from './dto/input/modulo.dto'; import { UpdateModuloDto } from './dto/input/update.dto'; import { MessageOutputDto } from '../dto/output/message.dto'; import { ModuloOutputDto } from './dto/output/modulo.dto'; -import { OnlyModuloMinOutputDto } from './dto/output/only-modulo-min.dto'; +import { OnlyModuloOutputDto } from './dto/output/only-modulo.dto'; @Controller('modulo') @ApiTags('modulo') @@ -40,11 +39,11 @@ export class ModuloController { @Serealize(MessageOutputDto) @Post() @UseGuards(AuthGuard('jwt')) - @ApiOperation({ description: 'Endpoint que crea un módulo.' }) + @ApiOperation({ description: 'Crear un nuevo módulo.' }) @ApiBearerAuth('jwt') @ApiBody({ - description: 'Ambas variables son obligatorias.', - examples: { ejemplo: { value: { id_institucion: 200, modulo: '' } } }, + description: 'Variables que necesita el endpoint.', + examples: { ejemplo: { value: { modulo: '' } } }, }) create(@Request() req, @Body() body: CreateModuloDto) { const admin: Operador = req.user.operador; @@ -57,7 +56,7 @@ export class ModuloController { @Get('modulo') @UseGuards(AuthGuard('jwt')) @ApiOperation({ - description: 'Endpoint que retorna la información de un módulo.', + description: 'Información de un módulo de la institución de un operador.', }) @ApiBearerAuth('jwt') @ApiQuery({ @@ -69,46 +68,28 @@ export class ModuloController { const admin: Operador = req.user.operador; this.validarUsuarioService.validarAdmin(admin); - return this.moduloService - .findMinInfoModuloById(parseInt(query.id_modulo)) - .then((modulo) => { - if ( - admin.tipoUsuario.id_tipo_usuario === 3 && - admin.institucion.id_institucion != modulo.institucion.id_institucion - ) - throw new ForbiddenException( - 'No puedes acceder a esta información porque no le pertenece a tu institución.', - ); - return modulo; - }); + return this.moduloService.findMinInfoModuloById(parseInt(query.id_modulo)); } - @Serealize(OnlyModuloMinOutputDto) + @Serealize(OnlyModuloOutputDto) @Get('modulos') @UseGuards(AuthGuard('jwt')) @ApiOperation({ - description: 'Endpoint que retorna todos los módulos de una institución.', + description: 'Todos los módulos de una institución de un operador.', }) @ApiBearerAuth('jwt') - @ApiQuery({ - description: 'Id de la institución.', - name: 'id_institucion', - type: 'string', - }) - modulos(@Request() req, @Query() query: IdInstitucionDto) { - const operador: Operador = req.user.operador; + modulos(@Request() req) { + const admin: Operador = req.user.operador; - this.validarUsuarioService.validarOperador(operador); + this.validarUsuarioService.validarAdmin(admin); return this.moduloService.findMinInfoModuloAll( - parseInt(query.id_institucion), + admin.institucion.id_institucion, ); } - @Serealize(OnlyModuloMinOutputDto) + @Serealize(OnlyModuloOutputDto) @Get('modulos-activos') - @ApiOperation({ - description: 'Endpoint que retorna todos los módulos de una institución.', - }) + @ApiOperation({ description: 'Todos los módulos de una institución.' }) @ApiQuery({ description: 'Id de la institución.', name: 'id_institucion', @@ -129,9 +110,19 @@ export class ModuloController { }) @ApiBearerAuth('jwt') @ApiBody({ - description: 'Todas las variables a excepción de id_modulo son opcionales.', + description: + 'Variables que necesita el endpoint. Las variables con "_" al inicio son opcionales.', examples: { - ejemplo: { value: { id_modulo: 1, _activo: true, _modulo: '' } }, + ejemplo: { + value: { + id_modulo: 1, + _activo: true, + _modulo: '', + _motivo: '', + _numero_alumnos: 1, + _fecha_creacion: '', + }, + }, }, }) update(@Request() req, @Body() body: UpdateModuloDto) { @@ -139,7 +130,7 @@ export class ModuloController { const data = { ...body }; this.validarUsuarioService.validarAdmin(admin); - delete data.modulo; + delete data.motivo; delete data.numero_alumnos; delete data.fecha_creacion; return this.moduloService.update(