Logotipo Hedhog

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

FieldTypeRequiredNotes
personIdnumbernoLink to an existing person
namestringyesMax 255 chars
qualificationSlugsstring[]yesArrayMinSize(1); must resolve to known active qualifications
emailstringnoMax 255 chars
phonestringnoMax 50 chars
avatarIdnumber | nullno
hourlyRatenumbernoMin 0
skillSlugsstring[]noUnknown 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

FieldTypeRequiredNotes
enabledbooleanyesRaw 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

FieldTypeRequiredNotes
slugstringyesMax 255 chars
status'active' | 'inactive'noDefault 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.list

    Lista instrutores com paginação e filtros opcionais

  • lms.instructors.stats

    Retorna estatísticas agregadas de instrutores

  • lms.instructors.me

    Retorna o perfil de instrutor vinculado ao usuário autenticado

  • lms.instructors.get

    Retorna um único instrutor por ID

  • lms.instructors.class-groups

    Lista turmas em que um instrutor está atribuído

  • lms.instructors.create

    Cria um novo perfil de instrutor

  • lms.instructors.update

    Atualiza um perfil de instrutor existente

  • lms.instructors.delete

    Exclui um instrutor por ID

  • lms.instructors.training-access

    Habilita ou desabilita o acesso ao portal de treinamento para um instrutor

  • lms.instructors.skills.list

    Lista habilidades de instrutor com paginação e busca opcionais

  • lms.instructors.skills.all

    Retorna todas as habilidades de instrutor (sem paginação) para uso em dropdowns

  • lms.instructors.skills.create

    Cria uma nova habilidade de instrutor

  • lms.instructors.skills.update

    Atualiza uma habilidade de instrutor

  • lms.instructors.skills.delete

    Exclui uma habilidade de instrutor por ID