Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.
Submódulo LMS
learning-paths
Sequências ordenadas de cursos e exames ("trilhas de treinamento") com modos de progressão sequencial ou livre.
Caminho de origem: libraries/lms/src/training
Arquivo do módulo: training.module.ts
Introdução
Uma trilha de aprendizado é uma lista curada e ordenada de itens — cada um sendo um curso ou um exame — que um aluno percorre sob um de dois modos de progressão: sequencial (cada item deve ser concluído antes de o próximo desbloquear) ou livre (os itens podem ser feitos em qualquer ordem). Apesar de a pasta de código-fonte e os nomes de classe internos (`TrainingController`, `TrainingService`, `TrainingModule`) usarem a palavra "training", a superfície REST é montada em `/lms/paths`, e não sob `/lms/enterprise/training/*` — esse é um conjunto de controllers completamente independente (os portais com escopo por role do submódulo Enterprise). A palavra compartilhada é uma coincidência de nomenclatura na árvore de código-fonte, e não uma relação de código; não há serviço ou controller compartilhado entre os dois.
Criar ou atualizar uma trilha aceita tanto um array plano `courseIds` (para uma lista simples e implicitamente ordenada) quanto um array `items` mais rico que tipa explicitamente cada entrada como course ou exam, define sua ordem e marca se ela é obrigatória para a conclusão da trilha. Atualizar os `items`/`courseIds` de uma trilha substitui sua lista completa de passos, em vez de fazer um diff. A criação/atualização/exclusão de uma trilha publica cada uma um evento de integração `lms.training.created` / `lms.training.updated` / `lms.training.deleted` para consumidores downstream — por exemplo, sistemas que precisam recalcular as recomendações de próximo passo disponíveis de um aluno quando a estrutura de uma trilha muda.
Endpoints HTTP
6 endpoints
Lista de trilhas de aprendizado paginada e filtrável.
- Query
- page, pageSize, search, status, level, area
Estatísticas agregadas: trilhas totais/ativas, alunos matriculados, cursos abrangidos.
Obtém uma trilha de aprendizado com seus itens de curso/exame ordenados.
- Params
- id (int)
Cria uma trilha de aprendizado; gera o slug automaticamente a partir do título se nenhum for fornecido; publica lms.training.created.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | Max 255 chars |
| slug | string | no | — |
| description | string | no | — |
| shortDescription | string | no | — |
| level | 'beginner' | 'intermediate' | 'advanced' | no | — |
| status | 'draft' | 'active' | 'archived' | no | — |
| progressMode | 'sequential' | 'free' | no | — |
| courseIds | number[] | no | Simple flat course list |
| items | LearningPathItemDto[] | no | { type: 'course' | 'exam', itemId, order?, isRequired? }[] |
| primaryColor | string | no | Max 32 chars |
| secondaryColor | string | no | Max 32 chars |
| bannerFileId | number | null | no | — |
Atualiza uma trilha; substitui a lista completa de passos se items/courseIds for fornecido; publica lms.training.updated.
- Params
- id (int)
Exclui uma trilha de aprendizado; publica lms.training.deleted.
- Params
- id (int)
Ferramentas MCP
Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).
lms.paths.listLista trilhas de aprendizado com paginação e filtros opcionais
lms.paths.statsRetorna estatísticas agregadas de trilhas de aprendizado
lms.paths.getRetorna uma única trilha de aprendizado por ID com seus itens de curso/exame
lms.paths.createCria uma nova trilha de aprendizado
lms.paths.updateAtualiza uma trilha de aprendizado existente
lms.paths.deleteRemove uma trilha de aprendizado por ID