Skip to content

Conversation

@obinna-h-n
Copy link
Contributor

@obinna-h-n obinna-h-n commented Nov 10, 2025

release test fixes

Summary by CodeRabbit

  • New Features

    • Added granular role-based access controls for Epipulse exports with four new permission levels: View, Create, Download, and Delete.
  • Chores

    • Updated internal configuration and authorization mappings to support enhanced Epipulse export workflows.

@obinna-h-n obinna-h-n merged commit 697a49b into development Nov 10, 2025
4 of 8 checks passed
@obinna-h-n obinna-h-n deleted the feature-13631-epipulse-export-module branch November 10, 2025 11:08
@coderabbitai
Copy link

coderabbitai bot commented Nov 10, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Method renamed from exportPertussisCaseBased to startPertussisExport in the API and backend implementation. Added TABLE_NAME constants to three Epipulse configuration classes. Introduced four new export-related security roles (EPIPULSE_EXPORT_VIEW, CREATE, DOWNLOAD, DELETE) across deployment descriptors. Updated tests to recognize Epipulse entities as non-exportable.

Changes

Cohort / File(s) Summary
API and Implementation Method Rename
sormas-api/src/main/java/de/symeda/sormas/api/epipulse/EpipulseDiseaseExportFacade.java, sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseDiseaseExportFacadeEjb.java, sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseExportTimerEjb.java
Renamed public method exportPertussisCaseBased(String uuid) to startPertussisExport(String uuid) across interface, implementation, and caller.
TABLE_NAME Constants
sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseDatasourceConfiguration.java, sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseLocationConfiguration.java, sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseSubjectcodeConfiguration.java
Added public static final TABLE_NAME constants to each configuration class.
Backend Security Role Mappings
sormas-backend/src/main/resources/META-INF/glassfish-ejb-jar.xml
Added four security-role-mapping entries: EPIPULSE_EXPORT_VIEW, EPIPULSE_EXPORT_CREATE, EPIPULSE_EXPORT_DOWNLOAD, EPIPULSE_EXPORT_DELETE.
REST Security Roles
sormas-rest/src/main/webapp/WEB-INF/glassfish-web.xml, sormas-rest/src/main/webapp/WEB-INF/web.xml
Added four security role mappings and four security-role declarations for Epipulse export operations.
UI Security Roles
sormas-ui/src/main/webapp/WEB-INF/glassfish-web.xml, sormas-ui/src/main/webapp/WEB-INF/web.xml
Added four security role mappings and four security-role declarations for Epipulse export operations.
Test Updates
sormas-backend/src/test/java/de/symeda/sormas/backend/common/HistoryTablesTest.java, sormas-backend/src/test/java/de/symeda/sormas/backend/importexport/DatabaseExportServiceTest.java
Added Epipulse configuration tables to NO_HISTORY_REQUIRED_TABLES; extended NOT_EXPORTED_ENTITIES list with four Epipulse-related classes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Homogeneous changes with consistent patterns (method rename replicated across 3 files, TABLE_NAME additions across 3 files, security role mappings replicated across 6 files)
  • Straightforward configuration and constant additions with no complex logic
  • Test updates are minimal and clear

Suggested reviewers

  • KarnaiahPesula
  • raulbob

Poem

🐰 Four new roles hop into place,
Constants named with grace,
A method renamed, export flows bright,
Security mapped, permissions right!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature-13631-epipulse-export-module

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ec2781c and 256954f.

📒 Files selected for processing (13)
  • sormas-api/src/main/java/de/symeda/sormas/api/epipulse/EpipulseDiseaseExportFacade.java (1 hunks)
  • sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseDatasourceConfiguration.java (1 hunks)
  • sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseDiseaseExportFacadeEjb.java (1 hunks)
  • sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseExportTimerEjb.java (1 hunks)
  • sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseLocationConfiguration.java (1 hunks)
  • sormas-backend/src/main/java/de/symeda/sormas/backend/epipulse/EpipulseSubjectcodeConfiguration.java (1 hunks)
  • sormas-backend/src/main/resources/META-INF/glassfish-ejb-jar.xml (1 hunks)
  • sormas-backend/src/test/java/de/symeda/sormas/backend/common/HistoryTablesTest.java (1 hunks)
  • sormas-backend/src/test/java/de/symeda/sormas/backend/importexport/DatabaseExportServiceTest.java (2 hunks)
  • sormas-rest/src/main/webapp/WEB-INF/glassfish-web.xml (1 hunks)
  • sormas-rest/src/main/webapp/WEB-INF/web.xml (1 hunks)
  • sormas-ui/src/main/webapp/WEB-INF/glassfish-web.xml (1 hunks)
  • sormas-ui/src/main/webapp/WEB-INF/web.xml (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

2 participants