Skip to content

Persistence improvement#12

Merged
jorge-romero merged 10 commits intodevelopfrom
persistence-improvement
Mar 26, 2026
Merged

Persistence improvement#12
jorge-romero merged 10 commits intodevelopfrom
persistence-improvement

Conversation

@jorge-romero
Copy link
Copy Markdown
Contributor

This pull request introduces a new core-contracts module, which defines the core interfaces, data structures, and contract classes for API service modules. It also integrates this new module as a dependency into the persistence module. The changes lay the foundation for a modular, contract-driven architecture by specifying interfaces for API modules, authentication, policies, error handling, and persistence.

The most important changes are:

Introduction of core-contracts module:

  • Added a new Maven module core-contracts with its own pom.xml, specifying dependencies on Spring, Jackson, Lombok, and Jakarta Servlet API.

API and Policy Contracts:

  • Defined core interfaces and data classes for API modules (ApiModule), API definitions (ApiDefinition), and policy evaluation (PolicyEvaluator, PolicyRule, PolicyContext, PolicyTypes). These provide a standardized contract for API registration, discovery, and policy enforcement.

Authentication and Authorization:

  • Introduced enums and logic for authentication types (AuthType) and authorization decisions (AuthorizationDecision), including a utility method for combining decisions.
    Persistence Contracts:

  • Added interfaces for data access to API definitions, clients, and policies (ApiDefinitionDao, ClientDao, PolicyDao), including read-only projections for client information
    Error Handling:

  • Introduced a simple GatewayError value class for standardized error representation in the core contracts.

Integration with Persistence Module:

  • Updated persistence/pom.xml to add a dependency on the new core-contracts module, enabling the persistence layer to implement and use these contracts.

@github-actions
Copy link
Copy Markdown

📊 Static Analysis Summary

🔍 Code Quality Checks

  • ✅ JaCoCo coverage report generated

📦 Download detailed reports from the workflow artifacts.

@github-actions
Copy link
Copy Markdown

📊 Static Analysis Summary

🔍 Code Quality Checks

  • ✅ JaCoCo coverage report generated

📦 Download detailed reports from the workflow artifacts.

@github-actions
Copy link
Copy Markdown

📊 Static Analysis Summary

🔍 Code Quality Checks

  • ✅ JaCoCo coverage report generated

📦 Download detailed reports from the workflow artifacts.

@github-actions
Copy link
Copy Markdown

📊 Static Analysis Summary

🔍 Code Quality Checks

  • ✅ JaCoCo coverage report generated

📦 Download detailed reports from the workflow artifacts.

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

📊 Static Analysis Summary

🔍 Code Quality Checks

  • ✅ JaCoCo coverage report generated

📦 Download detailed reports from the workflow artifacts.

@github-actions
Copy link
Copy Markdown

📊 Static Analysis Summary

🔍 Code Quality Checks

  • ✅ JaCoCo coverage report generated

📦 Download detailed reports from the workflow artifacts.

@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

📊 Static Analysis Summary

🔍 Code Quality Checks

  • ✅ JaCoCo coverage report generated

📦 Download detailed reports from the workflow artifacts.

@jorge-romero jorge-romero merged commit 1726695 into develop Mar 26, 2026
4 checks passed
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