Skip to content

feat: add public endpoint to validate certificate by access_key#7

Open
wmeireles wants to merge 2 commits intoProjeto-FrontEnd-Fusion:mainfrom
wmeireles:feat/validate-certificate-endpoint
Open

feat: add public endpoint to validate certificate by access_key#7
wmeireles wants to merge 2 commits intoProjeto-FrontEnd-Fusion:mainfrom
wmeireles:feat/validate-certificate-endpoint

Conversation

@wmeireles
Copy link
Copy Markdown
Collaborator

Implementação: Endpoint de Validação Pública de Certificado

Endpoint: GET /api/v1/certificate/validate/{access_key}

O que foi feito

Implementada a rota pública de consulta e validação de certificados, permitindo que empresas e recrutadores confirmem a autenticidade de um certificado a partir da sua chave de acesso única.

Arquivos modificados

  • schemas/responses.py — Criado schema CertificateValidationResponse (Pydantic)
  • repositories/certificate_repository.py — Adicionado método find_by_access_key
  • service/certificate_service.py — Adicionado método validate_certificate
  • routes/v1/certificate_routes.py — Adicionado endpoint GET /validate/{access_key}

Critérios atendidos

  • ✅ Busca por access_key via Path Parameter (case-sensitive)
  • ✅ Retorno 200 com: nome do aluno, nome do evento, carga horária, data de emissão e datas de realização
  • ✅ Retorno 404 com mensagem: "Certificado não encontrado ou código inválido."
  • ✅ Rota pública — não exige header Authorization / Token JWT
  • ✅ Valida apenas certificados com status "available" ou "emitted"
  • ✅ Arquitetura em camadas: Route → Service → Repository
  • ✅ Resposta modelada com Pydantic (CertificateValidationResponse)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant