Skip to content

Feat/review export#221

Open
montillha wants to merge 11 commits into
pet-ads:mainfrom
montillha:feat/review-export
Open

Feat/review export#221
montillha wants to merge 11 commits into
pet-ads:mainfrom
montillha:feat/review-export

Conversation

@montillha
Copy link
Copy Markdown

Resumo

Este PR adiciona a funcionalidade de exportar uma revisão sistemática completa no formato LaTeX, incluindo:

  • Metadados da revisão (título, descrição, objetivos, responsável, colaboradores)
  • Detalhes do protocolo (questões de pesquisa, palavras-chave, critérios, PICOC, etc.)
  • Funil de estudos com exclusões detalhadas por critério
  • Estudos separados por etapa (incluídos na triagem, excluídos na triagem, excluídos no full text, incluídos)
  • Respostas de extração e risco de viés dos estudos incluídos

Mudanças

Camada de aplicação

  • Adicionados modelos de dados de exportação (FunnelExportData, StudyExportData, SystematicStudyExportData, ReviewExportData, ProtocolExportData)
  • Adicionados contratos ReviewExporter, ExportReviewService e ExportReviewPresenter
  • Adicionado ExportReviewServiceImpl usando Strategy pattern via Map<String, ReviewExporter>
  • Extraído cálculo do funil para FunnelCalculator (reutilizado pelo StudiesFunnelServiceImpl)

Camada de infraestrutura

  • Adicionada interface DocumentBuilder<T> com métodos de alto nível apenas
  • Adicionado LatexDocumentBuilder implementando o padrão Builder para LaTeX
  • Adicionado LatexReviewExporter implementando ReviewExporter

Camada web

  • Adicionados RestfulExportReviewPresenter e DownloadableReviewPresenter
  • Refatorado DownloadableProtocolPresenter para usar buildDownloadResponse compartilhado
  • Adicionado endpoint GET /api/v1/systematic-study/{id}/report/exportable-review/{format}?downloadable={bool}

Testes

  • Testes unitários para ExportReviewServiceImpl
  • Testes de integração para o novo endpoint em ReportControllerTest

@sonarqubecloud
Copy link
Copy Markdown

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