Skip to content

feat - melhorias de qualidade de vida e novo gerencimento de alunos#59

Merged
gtins merged 7 commits into
mainfrom
dev-correcoes-e-testes
Jun 11, 2026
Merged

feat - melhorias de qualidade de vida e novo gerencimento de alunos#59
gtins merged 7 commits into
mainfrom
dev-correcoes-e-testes

Conversation

@icrcode

@icrcode icrcode commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Este pull request introduz melhorias significativas na forma como coordenadores e cursos se relacionam, aprimora o controle de acesso aos documentos e adiciona novos endpoints para gerenciamento de cursos. O principal objetivo é oferecer suporte a coordenadores responsáveis por múltiplos cursos, garantindo que permissões e filtros reflitam corretamente esse relacionamento em todo o backend. Além disso, a base de código foi atualizada com testes abrangentes para cobrir as novas funcionalidades.

Principais alterações:

1. Suporte a múltiplos cursos para coordenadores e propagação no JWT

  • Coordenadores agora podem ser associados a vários cursos por meio de um relacionamento muitos-para-muitos (coordenadores_cursos).
  • O payload do JWT passou a incluir um array curso_ids para coordenadores, permitindo que o sistema reconheça todos os cursos sob sua responsabilidade.
  • A lógica de autenticação e geração de tokens foi atualizada para refletir essa nova estrutura.

2. Melhorias no acesso e filtragem de documentos

  • Todas as verificações de acesso e operações de listagem de documentos passaram a utilizar o array curso_ids dos coordenadores.
  • Isso garante que coordenadores possam acessar apenas os documentos pertencentes aos cursos aos quais estão vinculados.
  • As regras de filtragem e permissões foram ajustadas tanto nos repositórios quanto nos manipuladores de rotas.

3. Novos endpoints para gerenciamento de cursos e alunos

  • Adicionado o endpoint GET /api/cursos/meus, responsável por listar todos os cursos gerenciados pelo coordenador autenticado.
  • Adicionado o endpoint GET /api/cursos/:id/alunos, que retorna a lista de alunos matriculados em um curso específico, com controle de acesso para assegurar que apenas coordenadores autorizados ou administradores possam visualizar essas informações.

4. Aprimoramentos em consultas e no modelo de dados

  • As consultas SQL foram ajustadas para realizar corretamente os relacionamentos com a tabela coordenadores_cursos ao buscar coordenadores ou cursos.

  • Foram adicionadas funções utilitárias e métodos de repositório para:

    • listar os cursos de um coordenador;
    • verificar o vínculo entre coordenadores e cursos;
    • listar alunos de acordo com o curso informado.

5. Ampliação e atualização da cobertura de testes

  • Os testes passaram a simular coordenadores vinculados a múltiplos cursos.
  • Foram adicionados cenários cobrindo os novos endpoints, incluindo casos de sucesso e de erro nas operações de listagem de cursos e alunos.
  • Funções auxiliares e a configuração dos testes foram atualizadas para dar suporte à nova estrutura do JWT e às novas regras de acesso.

Essas mudanças, em conjunto, aumentam a flexibilidade e a segurança do sistema em instituições nas quais coordenadores podem supervisionar múltiplos cursos, além de melhorar a manutenibilidade e a testabilidade do código do backend.

@icrcode
icrcode requested review from gtins and icrcode-senai June 11, 2026 01:45
@icrcode icrcode self-assigned this Jun 11, 2026
@icrcode icrcode added the enhancement New feature or request label Jun 11, 2026
@sonarqubecloud

Copy link
Copy Markdown

@gtins gtins left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@gtins
gtins merged commit dc0be45 into main Jun 11, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Valida Ai Roadmap Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants