Skip to content

Project infrastructure#124

Merged
scraft-official merged 4 commits intorelease/1.25from
feature/project-infrastructure
Dec 19, 2025
Merged

Project infrastructure#124
scraft-official merged 4 commits intorelease/1.25from
feature/project-infrastructure

Conversation

@scraft-official
Copy link
Copy Markdown
Collaborator

This pull request refactors the handling of deletion-related functionality across multiple domain entities and services in the backend. The main changes include standardizing the naming of the deletion timestamp field, updating import paths for deletion-related interfaces and metadata, and ensuring consistency in deletion logic throughout the codebase.

Domain Model Consistency:

  • Renamed the field deletationTimestamp to deletionTimestamp in all affected domain entities (Account, Auth, Channel, Member, MemberAssociation, Organization, Project) and updated its usage in deletion methods to improve clarity and consistency. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

Import Path Updates:

  • Changed imports of Deletable and DeletionMeta from modifier.delete to modifier.impl.delete in all relevant files, reflecting a package reorganization for better structure and maintainability. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Spring Boot Configuration:

  • Added @EnableJpaRepositories and @EntityScan annotations to ApiApplication.java to explicitly configure JPA repository and entity scanning for the infrastructure package, improving Spring Boot startup reliability. [1] [2]

These changes collectively improve code clarity, enforce naming consistency, and ensure proper configuration of Spring Data JPA in the backend application.

Moved Deletable and DeletionMeta interfaces to 'impl/delete' package and updated all references. Renamed 'deletationTimestamp' to 'deletionTimestamp' across domain entities and mappers for consistency. Improved entity state handling in EntityMapper to support NOT_DEFINED, ACTIVE, and DELETED states. Refactored ProjectRepositoryImpl to use OrganizationRelatedEntityRepository and updated repository package structure. Added default state initialization in BaseEntity.
Updated ProjectRepositoryImpl and ProjectEntityRepository to support fetching projects by organization and active state. Replaced previous methods with queries that ensure projects belong to the specified organization and are active, and implemented missing methods for retrieving and saving projects within an organization context.
Updated entity classes to use field access and protected fields for IDs and organization IDs. Changed ProjectEntityRepository to use UUID as the primary key type instead of HUID. Added @EnableJpaRepositories and @EntityScan to ApiApplication for proper JPA configuration. Removed unused imports and improved entity annotations for consistency.
Added @NoArgsConstructor to BaseEntity, OrganizationRelatedEntity, and ProjectEntity for improved JPA compatibility. Replaced method name-based queries with explicit @query annotations in ProjectEntityRepository and updated usages in ProjectRepositoryImpl to match new method names.
@NikodemCyrzan NikodemCyrzan changed the title Feature/project infrastructure Project infrastructure Dec 18, 2025
@scraft-official scraft-official merged commit cd46c30 into release/1.25 Dec 19, 2025
@scraft-official scraft-official deleted the feature/project-infrastructure branch December 19, 2025 00:36
@scraft-official scraft-official restored the feature/project-infrastructure branch December 20, 2025 18:23
NikodemCyrzan pushed a commit that referenced this pull request Dec 21, 2025
* Refactor deletion logic and update entity state handling

Moved Deletable and DeletionMeta interfaces to 'impl/delete' package and updated all references. Renamed 'deletationTimestamp' to 'deletionTimestamp' across domain entities and mappers for consistency. Improved entity state handling in EntityMapper to support NOT_DEFINED, ACTIVE, and DELETED states. Refactored ProjectRepositoryImpl to use OrganizationRelatedEntityRepository and updated repository package structure. Added default state initialization in BaseEntity.

* Implement organization-aware project queries

Updated ProjectRepositoryImpl and ProjectEntityRepository to support fetching projects by organization and active state. Replaced previous methods with queries that ensure projects belong to the specified organization and are active, and implemented missing methods for retrieving and saving projects within an organization context.

* Refactor entity mapping and repository to use UUID keys

Updated entity classes to use field access and protected fields for IDs and organization IDs. Changed ProjectEntityRepository to use UUID as the primary key type instead of HUID. Added @EnableJpaRepositories and @EntityScan to ApiApplication for proper JPA configuration. Removed unused imports and improved entity annotations for consistency.

* Add NoArgsConstructor and update repository queries

Added @NoArgsConstructor to BaseEntity, OrganizationRelatedEntity, and ProjectEntity for improved JPA compatibility. Replaced method name-based queries with explicit @query annotations in ProjectEntityRepository and updated usages in ProjectRepositoryImpl to match new method names.
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