diff --git a/src/modules/essay/essay.controller.ts b/src/modules/essay/essay.controller.ts index c7fa8f8..1c482e4 100644 --- a/src/modules/essay/essay.controller.ts +++ b/src/modules/essay/essay.controller.ts @@ -275,8 +275,9 @@ export class EssayController { } @Get(':id') - @UseGuards(JwtAuthGuard, PermissionsGuard) - @SetMetadata(PermissionsGuard.name, Permissions.revisarRedacoes) + // Aluno visualiza a própria redação (findById filtra por dono); + // revisor/admin são autorizados por validateReviewerScope no service + @UseGuards(JwtAuthGuard) async getEssay(@Param('id') id: string, @Req() req: any) { try { return await this.essayService.findById(id, req.user.id); diff --git a/src/modules/simulado/materia/materia.controller.ts b/src/modules/simulado/materia/materia.controller.ts index 65de0cc..12e5f34 100644 --- a/src/modules/simulado/materia/materia.controller.ts +++ b/src/modules/simulado/materia/materia.controller.ts @@ -13,6 +13,7 @@ import { import { ApiTags } from '@nestjs/swagger'; import { Permissions } from 'src/modules/role/permissions/permissions'; import { GetAllDtoInput } from 'src/shared/dtos/get-all.dto.input'; +import { JwtAuthGuard } from 'src/shared/guards/jwt-auth.guard'; import { PermissionsGuard } from 'src/shared/guards/permission.guard'; import { MateriaProxyService } from './materia.service'; @@ -29,8 +30,8 @@ export class MateriaProxyController { } @Get() - @UseGuards(PermissionsGuard) - @SetMetadata(PermissionsGuard.name, Permissions.visualizarDemanda) + // Listagem de matérias consumida por alunos na página de estudo: exige apenas autenticação + @UseGuards(JwtAuthGuard) async getAll(@Query() query: GetAllDtoInput) { return await this.materiaService.getAll(query.page, query.limit); } diff --git a/src/modules/simulado/questao/questao.controller.ts b/src/modules/simulado/questao/questao.controller.ts index 8b9c2af..e7332e5 100644 --- a/src/modules/simulado/questao/questao.controller.ts +++ b/src/modules/simulado/questao/questao.controller.ts @@ -18,6 +18,7 @@ import { ApiBearerAuth, ApiResponse, ApiTags } from '@nestjs/swagger'; import { Request } from 'express'; import { Permissions } from 'src/modules/role/permissions/permissions'; import { User } from 'src/modules/user/user.entity'; +import { JwtAuthGuard } from 'src/shared/guards/jwt-auth.guard'; import { PermissionsGuard } from 'src/shared/guards/permission.guard'; import { QuestaoDTOInput } from '../dtos/questao.dto.input'; import { UpdateImageAlternativaDTOInput } from '../dtos/update-image-alternativa.dto.input'; @@ -245,8 +246,8 @@ export class QuestaoController { status: 200, description: 'busca imagem de questão', }) - @UseGuards(PermissionsGuard) - @SetMetadata(PermissionsGuard.name, Permissions.visualizarQuestao) + // Recurso consumido por alunos durante o simulado: exige apenas autenticação + @UseGuards(JwtAuthGuard) public async getImage(@Param('id') id: string) { return await this.questaoService.getImage(id); }