Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.
Submódulo LMS
instructors
Gerenciamento de perfis de instrutor com um catálogo de qualificações/habilidades, visibilidade das turmas atribuídas e alternância do acesso ao portal de treinamento corporativo.
Caminho de origem: libraries/lms/src/instructor
Arquivo do módulo: instructor.module.ts
Introdução
O submódulo Instructors gerencia a lista de pessoas que podem ser atribuídas para ministrar turmas, sobreposta aos mesmos registros `person` usados em outros lugares da plataforma. Criar um instrutor resolve ou cria a person subjacente (correspondendo por `personId` ou por e-mail, se não fornecido), sincroniza informações de contato e requer ao menos uma qualificação (slug) — o sistema semeia duas padrões (`course-lessons`, `class-sessions`) no primeiro acesso à listagem e faz backfill de quaisquer instrutores legados com `can_teach_courses` na qualificação `course-lessons`, de modo que dados mais antigos permaneçam consultáveis após a introdução do modelo de qualificação. Habilidades são uma dimensão de tagging separada e mais frouxa (gerenciada pelo `InstructorSkillController`/`instructor-skills`) usada para especialidades pesquisáveis, e não para controle de acesso — slugs de habilidade desconhecidos são silenciosamente ignorados em vez de rejeitados, ao contrário dos slugs de qualificação, que são estritamente validados.
O `PATCH /lms/instructors/:id/training-access` é a ponte para os portais de treinamento do submódulo Enterprise: alterná-lo concede ou revoga a role de plataforma `lms-instructor` para a conta de usuário vinculada ao instrutor, que é o que de fato desbloqueia os endpoints `/lms/enterprise/training/instructor/*` para ele — não tem uma classe DTO e recebe um único campo de body booleano bruto. O `GET /lms/instructors/me` é a consulta self-service que um usuário autenticado chama para descobrir se ele próprio está registrado como instrutor, retornando `isInstructor: false` de forma limpa em vez de dar erro se não estiver.
Endpoints HTTP
14 endpoints
Lista paginada de instrutores; semeia qualificações padrão e faz backfill de instrutores legados no primeiro acesso.
- Query
- page, pageSize, search, status, qualificationSlugs
Contagens agregadas de instrutores: total, ativos, inativos.
Se o usuário atual tem um perfil de instrutor vinculado; retorna isInstructor:false de forma limpa se não.
Cria um instrutor, resolvendo/criando a person subjacente e sincronizando qualificações/habilidades.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| personId | number | no | Link to an existing person |
| name | string | yes | Max 255 chars |
| qualificationSlugs | string[] | yes | ArrayMinSize(1); must resolve to known active qualifications |
| string | no | Max 255 chars | |
| phone | string | no | Max 50 chars |
| avatarId | number | null | no | — |
| hourlyRate | number | no | Min 0 |
| skillSlugs | string[] | no | Unknown slugs are silently ignored |
| status | 'active' | 'inactive' | no | — |
Turmas atribuídas ao instrutor, com contagens de vagas de matrícula.
- Params
- id (int)
- Query
- page, pageSize, search, status
Detalhe completo do instrutor; 404 se ausente.
- Params
- id (int)
Concede ou revoga a role lms-instructor para o usuário vinculado, desbloqueando o portal de instrutor corporativo.
- Params
- id (int)
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| enabled | boolean | yes | Raw body field, not a DTO class |
Atualiza os campos do instrutor; ressincroniza qualificações/habilidades/status apenas quando explicitamente fornecidos.
- Params
- id (int)
Exclui a linha do instrutor (não a person subjacente); 204 No Content.
- Params
- id (int)
Lista paginada de habilidades (a busca corresponde ao slug).
- Query
- page, pageSize, search
Todas as habilidades ativas, não paginadas, para uso em dropdowns.
Cria uma habilidade.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| slug | string | yes | Max 255 chars |
| status | 'active' | 'inactive' | no | Default active |
Atualiza uma habilidade; 404 se ausente.
- Params
- id (int)
Exclui uma habilidade; 404 se ausente; 204 No Content.
- Params
- id (int)
Ferramentas MCP
Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).
lms.instructors.listLista instrutores com paginação e filtros opcionais
lms.instructors.statsRetorna estatísticas agregadas de instrutores
lms.instructors.meRetorna o perfil de instrutor vinculado ao usuário autenticado
lms.instructors.getRetorna um único instrutor por ID
lms.instructors.class-groupsLista turmas em que um instrutor está atribuído
lms.instructors.createCria um novo perfil de instrutor
lms.instructors.updateAtualiza um perfil de instrutor existente
lms.instructors.deleteExclui um instrutor por ID
lms.instructors.training-accessHabilita ou desabilita o acesso ao portal de treinamento para um instrutor
lms.instructors.skills.listLista habilidades de instrutor com paginação e busca opcionais
lms.instructors.skills.allRetorna todas as habilidades de instrutor (sem paginação) para uso em dropdowns
lms.instructors.skills.createCria uma nova habilidade de instrutor
lms.instructors.skills.updateAtualiza uma habilidade de instrutor
lms.instructors.skills.deleteExclui uma habilidade de instrutor por ID