Channel infrastructure layer#165
Merged
scraft-official merged 3 commits intorelease/2.25from Dec 22, 2025
Merged
Conversation
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.
NikodemCyrzan
approved these changes
Dec 22, 2025
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new infrastructure layer for the
Channeldomain, including JPA entities, repositories, and mappers, and applies several improvements and consistency updates across the codebase. The most significant changes are the implementation of theChannelEntitypersistence 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:
ChannelEntity, a JPA entity representing channels, along with its metadata classChannelEntityMeta, and repository interfaceChannelEntityRepositoryfor database operations. [1] [2] [3]ChannelEntityMapperusing MapStruct to map between domainChanneland infrastructureChannelEntity, including metadata mapping.ChannelRepositoryImplto use the new repository and mapper, providing implementations for all required methods and integrating with the organization-related infrastructure.Domain model and interface improvements:
Channelto implementDomainEntityand added Lombok's@Builderannotation for easier instantiation. [1] [2] [3]ChannelRepositoryinterface method signature forfindAllByIdto accept aListinstead of anIterablefor consistency with the new repository implementation.Consistency and refactoring in request/response mapping:
OrganizationPatchMapperandProjectPatchMapperby adding custom mapping annotations and removing unnecessary@Overrideannotations for clarity and consistency. [1] [2]OrganizationPatchRequestandProjectPatchRequestto use Lombok annotations and extend the correct base request class, aligning with the new patch request conventions. [1] [2]Infrastructure refactoring for related entities:
ProjectRepositoryImplto use consistent field names (repository,mapper) and updated method calls to match the new naming. [1] [2] [3]Minor improvements:
@Mappingannotations fromOrganizationEntityMapperfor cleaner MapStruct configuration. [1] [2] [3]OrganizationandProjectdomain models to use@AllArgsConstructor(onConstructor = @__({ @Deprecated }))for consistency with other domain entities. [1] [2]