Logotipo Hedhog

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

FieldTypeRequiredNotes
namestringyesMax 255 chars
slugstringnoMax 255 chars
descriptionstringno
templateContentstringyesHTML/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

FieldTypeRequiredNotes
fileFileyesmultipart/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

FieldTypeRequiredNotes
publicAccessbooleanyes

Ferramentas MCP

Ferramentas nomeadas que podem ser chamadas por modelos de IA através do Model Context Protocol (MCP).

  • lms.certificates.templates.list

    Lista templates de certificado com paginação, busca e filtro de status opcionais

  • lms.certificates.templates.get

    Retorna um único template de certificado por ID

  • lms.certificates.templates.create

    Cria um novo template de certificado

  • lms.certificates.templates.update

    Atualiza um template de certificado existente

  • lms.certificates.templates.delete

    Exclui um template de certificado por ID

  • lms.certificates.issued.list

    Lista certificados emitidos com paginação, busca e filtro de tipo opcionais

  • lms.certificates.issued.update-public-access

    Habilita ou desabilita o acesso público a um certificado emitido