Skip to content

Channel infrastructure layer#165

Merged
scraft-official merged 3 commits intorelease/2.25from
feature/channel-infrastructure-layer
Dec 22, 2025
Merged

Channel infrastructure layer#165
scraft-official merged 3 commits intorelease/2.25from
feature/channel-infrastructure-layer

Conversation

@scraft-official
Copy link
Copy Markdown
Collaborator

This pull request introduces a new infrastructure layer for the Channel domain, including JPA entities, repositories, and mappers, and applies several improvements and consistency updates across the codebase. The most significant changes are the implementation of the ChannelEntity persistence model and its repository, mapper, and integration into the domain and infrastructure layers. Additionally, there are consistency fixes for request/response mapping and minor refactoring in related domain and infrastructure classes.

Infrastructure for Channel domain:

  • Added ChannelEntity, a JPA entity representing channels, along with its metadata class ChannelEntityMeta, and repository interface ChannelEntityRepository for database operations. [1] [2] [3]
  • Implemented ChannelEntityMapper using MapStruct to map between domain Channel and infrastructure ChannelEntity, including metadata mapping.
  • Refactored ChannelRepositoryImpl to use the new repository and mapper, providing implementations for all required methods and integrating with the organization-related infrastructure.

Domain model and interface improvements:

  • Updated Channel to implement DomainEntity and added Lombok's @Builder annotation for easier instantiation. [1] [2] [3]
  • Changed ChannelRepository interface method signature for findAllById to accept a List instead of an Iterable for consistency with the new repository implementation.

Consistency and refactoring in request/response mapping:

  • Improved OrganizationPatchMapper and ProjectPatchMapper by adding custom mapping annotations and removing unnecessary @Override annotations for clarity and consistency. [1] [2]
  • Updated OrganizationPatchRequest and ProjectPatchRequest to use Lombok annotations and extend the correct base request class, aligning with the new patch request conventions. [1] [2]

Infrastructure refactoring for related entities:

  • Refactored ProjectRepositoryImpl to use consistent field names (repository, mapper) and updated method calls to match the new naming. [1] [2] [3]

Minor improvements:

  • Removed unnecessary @Mapping annotations from OrganizationEntityMapper for cleaner MapStruct configuration. [1] [2] [3]
  • Updated Organization and Project domain models to use @AllArgsConstructor(onConstructor = @__({ @Deprecated })) for consistency with other domain entities. [1] [2]

Introduces ChannelEntity, ChannelEntityMeta, and ChannelEntityMapper for channel persistence in the infrastructure layer. Updates domain models to use Lombok @builder and adjusts constructors for consistency. Refactors InfrastructureMapper for improved type parameter naming and updates related mappers and entities for organization and project to align with new conventions.
Added ChannelEntityRepository with custom queries and implemented ChannelRepositoryImpl using it. Refactored ProjectRepositoryImpl for consistency in naming and dependency injection. Updated ChannelRepository and related mappers to use List instead of Iterable for IDs, and added mapping annotations to OrganizationPatchMapper.
Updated OrganizationPatchRequest to extend PatchRequest, added Lombok @Getter and @AllArgsConstructor, and introduced a name field. Removed unnecessary @Setter from ProjectPatchRequest for consistency.
@scraft-official scraft-official merged commit e496e16 into release/2.25 Dec 22, 2025
8 checks passed
scraft-official added a commit that referenced this pull request Jan 4, 2026
* Add channel infrastructure entities and mappers

Introduces ChannelEntity, ChannelEntityMeta, and ChannelEntityMapper for channel persistence in the infrastructure layer. Updates domain models to use Lombok @builder and adjusts constructors for consistency. Refactors InfrastructureMapper for improved type parameter naming and updates related mappers and entities for organization and project to align with new conventions.

* Implement Channel repository and refactor mappers

Added ChannelEntityRepository with custom queries and implemented ChannelRepositoryImpl using it. Refactored ProjectRepositoryImpl for consistency in naming and dependency injection. Updated ChannelRepository and related mappers to use List instead of Iterable for IDs, and added mapping annotations to OrganizationPatchMapper.

* Refactor patch request classes for organization and project

Updated OrganizationPatchRequest to extend PatchRequest, added Lombok @Getter and @AllArgsConstructor, and introduced a name field. Removed unnecessary @Setter from ProjectPatchRequest for consistency.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants