Receba novidades do Hedhog no seu e-mail
Novos lançamentos, receitas e breaking changes — sem spam.
Submódulo LMS
certificates
Gerenciamento de templates de certificado em HTML/SVG (com upload de imagem de fundo) e rastreamento de certificados emitidos com controle de visibilidade pública por certificado.
Caminho de origem: libraries/lms/src/certificate
Arquivo do módulo: certificate.module.ts
Introdução
Um template de certificado armazena seu layout visual como uma string HTML/SVG bruta (`templateContent`) mais um status draft/active/inactive, permitindo que o painel de admin ofereça um editor de template ao vivo sem precisar de um motor de templating separado. Criar ou atualizar um template resolve automaticamente um slug único e, na atualização, reconcilia quaisquer referências de arquivo de imagem embutidas no novo `templateContent` contra a versão anterior — arquivos de imagem que foram removidos da marcação são limpos em vez de deixados como registros File órfãos. O `POST /templates/background-image` é um endpoint de upload dedicado (validado para ser um tipo MIME `image/*`) usado para obter um ID de arquivo para uso dentro do fundo de um template, armazenado sob um caminho fixo `lms/certificates/templates/backgrounds`.
Certificados emitidos são rastreados separadamente dos templates — o `GET /lms/certificates/issued` lista certificados que realmente foram gerados para um aluno, filtráveis por `type` (course, exam, course_class_group ou learning_path, validado contra um conjunto fixo `certificate_type`) e pesquisáveis por nome do aluno/curso ou código de verificação. O `PATCH /issued/:id/public-access` é a única mutação sobre certificados emitidos exposta aqui, alternando se um certificado pode ser visualizado por qualquer pessoa com seu link versus exigir que o aluno proprietário esteja autenticado — a emissão do certificado em si (a criação de novas linhas de certificado emitido) acontece em outro lugar, provavelmente como um efeito colateral da conclusão de curso/exame tratado por um event subscriber, e não por um endpoint direto neste controller.
Endpoints HTTP
8 endpoints
Lista templates de certificado, filtráveis por nome/slug/descrição e status.
- Query
- page, pageSize, search, status
Obtém um template por ID; 404 se ausente.
- Params
- id (int)
Cria um template; resolve automaticamente um slug único; publica lms.certificate_template.created.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Max 255 chars |
| slug | string | no | Max 255 chars |
| description | string | no | — |
| templateContent | string | yes | HTML/SVG template body |
| status | 'draft' | 'active' | 'inactive' | no | — |
Atualiza um template; reconcilia referências de arquivo de imagem embutidas contra a versão anterior.
- Params
- id (int)
Faz upload de uma imagem de fundo para templates (tipo MIME image/* validado).
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| file | File | yes | multipart/form-data |
Exclui um template e limpa seus arquivos de imagem associados.
- Params
- id (int)
Lista certificados emitidos, filtráveis por tipo e pesquisáveis por aluno/curso/código de verificação.
- Query
- page, pageSize, search, type
Alterna a visibilidade pública de um certificado emitido.
- Params
- id (int)
Body
| Field | Type | Required | Notes |
|---|---|---|---|
| publicAccess | boolean | yes | — |
Ferramentas MCP
Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).
lms.certificates.templates.listLista templates de certificado com paginação, busca e filtro de status opcionais
lms.certificates.templates.getRetorna um único template de certificado por ID
lms.certificates.templates.createCria um novo template de certificado
lms.certificates.templates.updateAtualiza um template de certificado existente
lms.certificates.templates.deleteExclui um template de certificado por ID
lms.certificates.issued.listLista certificados emitidos com paginação, busca e filtro de tipo opcionais
lms.certificates.issued.update-public-accessHabilita ou desabilita o acesso público a um certificado emitido