Olá, pessoal!
Implementei a funcionalidade na nossa API, que permite contar o número de cursos em que um estudante está matriculado. Essa adição foi feita no MatriculaController, MatriculaServices e pessoasRoute, agora obtemos a contagem de forma simples e eficiente.
Arquivo MatriculaController.js :
    // Método para contar cursos por ID do estudante
    async contaCursosPorEstudante(req, res) {
        const { estudante_id } = req.params; // Obtém o ID do estudante da requisição
        try {
            // Busca os dados do estudante e conta os cursos simultaneamente
            const [dadosEstudante, contagem] = await Promise.all([
                this.entidadeService.pegaUmRegistro({ id: estudante_id }),
                this.entidadeService.contaCursosPorEstudante(estudante_id),
            ]);
            // Verifica se o estudante existe
            if (!dadosEstudante) {
                return res.status(404).json({ mensagem: 'Estudante não encontrado' });
            }
            // Retorna a contagem e os dados do estudante
            return res.status(200).json({ contagem, estudante: dadosEstudante });
        } catch (error) {
            return res.status(500).json({ mensagem: 'Erro ao buscar dados' });
        }
    }
O método contaCursosPorEstudante é responsável por contar o número de cursos nos quais um estudante está matriculado, utilizando seu ID.
Resumo do Método contaCursosPorEstudante:
Entrada:
- Recebe o ID do estudante através dos parâmetros da requisição.
Processo:
- Faz uma chamada simultânea para dois serviços: Busca os dados do estudante com o método pegaUmRegistro; Conta as matrículas do estudante utilizando o método contaCursosPorEstudante. 
- Verifica se o estudante existe. Se não, retorna um erro 404 (não encontrado). 
Saída:
- Retorna um JSON contendo: A contagem de cursos nos quais o estudante está matriculado; Os dados do estudante.
Tratamento de Erros:
- Se ocorrer algum erro durante o processo, retorna um erro 500 (erro interno do servidor).
Arquivo MatriculaServices.js :
    // Método para contar cursos por ID do estudante
    async contaCursosPorEstudante(estudante_id) {
        // Utiliza o Sequelize para contar as matrículas do estudante
        const total = await this.model.count({
            where: {
                estudante_id,
                status: 'matriculado' // Considerando apenas matrículas com status 'matriculado'
            }
        });
        return total; // Retorna a contagem
    }
Resumo do Método contaCursosPorEstudante no Arquivo MatriculaServices.js:
- Objetivo: Este método conta quantas matrículas um estudante possui no sistema com o status de 'matriculado'. 
- Entrada: Recebe o estudante_id como parâmetro, que representa o ID do estudante cujas matrículas serão contadas. 
- Processo: Utiliza o Sequelize para realizar uma contagem de registros na tabela de matrículas (this.model.count); Aplica um filtro (where) que considera apenas as matrículas que pertencem ao estudante identificado pelo estudante_id e que estão com o status 'matriculado'. 
- Saída: Retorna um valor numérico (total), que representa o número total de matrículas ativas do estudante. 
Este método é eficiente para obter rapidamente a quantidade de cursos em que um estudante está ativo, permitindo a implementação de funcionalidades que dependem dessa informação.
URLs para Teste no Postman:
Contar Cursos por Estudante: http://localhost:3000/pessoas/1/matriculas/contagem
 
            