From 1f980c50af9850ce70667a5254263311ff36a3f3 Mon Sep 17 00:00:00 2001 From: Lobo Date: Sun, 19 Apr 2026 12:49:32 +0200 Subject: [PATCH] Refactor Steam adapter packages and update docs Move steam_adapter sources from domain.* to modules.* and rename controller package to api. Update package declarations and imports across SteamTestController, SteamPlayerSummaryResponse, SteamClientConfig, and SteamApiService. Update README to re-label Controller -> API layer and Domain -> Business layer and adjust wording about layer boundaries. Also normalize file endings/newlines in several Java files. No functional logic changes were made. --- readme.md | 8 ++++---- src/main/java/core_service/CoreServiceApplication.java | 1 + .../configuration/security/JwtAuthenticationFilter.java | 1 + .../core_service/configuration/security/JwtConfig.java | 1 + .../core_service/configuration/security/JwtService.java | 1 + .../configuration/security/SecurityConfig.java | 2 +- .../steam_adapter/api}/SteamTestController.java | 8 ++++---- .../api}/dto/response/SteamPlayerSummaryResponse.java | 4 ++-- .../steam_adapter/config/SteamClientConfig.java | 4 ++-- .../steam_adapter/service/SteamApiService.java | 6 +++--- .../java/core_service/shared/security/UserPrincipal.java | 1 + 11 files changed, 21 insertions(+), 16 deletions(-) rename src/main/java/core_service/{domain/steam_adapter/controller => modules/steam_adapter/api}/SteamTestController.java (81%) rename src/main/java/core_service/{domain/steam_adapter/controller => modules/steam_adapter/api}/dto/response/SteamPlayerSummaryResponse.java (81%) rename src/main/java/core_service/{domain => modules}/steam_adapter/config/SteamClientConfig.java (89%) rename src/main/java/core_service/{domain => modules}/steam_adapter/service/SteamApiService.java (90%) diff --git a/readme.md b/readme.md index 7e3e71b..85277f7 100644 --- a/readme.md +++ b/readme.md @@ -19,20 +19,20 @@ The project strictly follows a Domain-Driven / Clean Architecture (Ports & Adapt ### Layer Breakdown -1. **Controller / Web Layer (`controller`)** +1. **API / Web Layer (`api`)** * Contains REST endpoints, DTOs (`Request`/`Response` records), and Global Exception Handlers. * Uses `ApiMapper` to map between DTOs and Domain Models. * **Rule:** This layer delegates to the Service layer and never accesses persistence directly. -2. **Domain / Core Layer (`model`, `service`, `exception`)** +2. **Business / Core Layer (`model`, `service`, `exception`)** * The heart of the application. Contains pure Java classes (Models) and Business Logic (Services). * Throws specific business exceptions (e.g., `InvalidCredentialsException`). - * **Rule:** This layer has **no dependencies** on the Controller or Persistence layer. It defines interfaces that the persistence layer must implement. + * **Rule:** This layer has **no dependencies** on the API or Persistence layer. It defines interfaces that the persistence layer must implement. 3. **Persistence Layer (`persistence`)** * Handles database operations. Contains JPA Entities (`UserEntity`), Spring Data Repositories, and the `EntityMapper`. * Implements the interfaces defined in the Domain layer. - * **Rule:** Entities never leak into the Controller layer. + * **Rule:** Entities never leak into the API layer. *Note: Future implementations will include ArchUnit tests to automatically enforce these architectural boundaries during the CI pipeline.* diff --git a/src/main/java/core_service/CoreServiceApplication.java b/src/main/java/core_service/CoreServiceApplication.java index fadb064..1509687 100644 --- a/src/main/java/core_service/CoreServiceApplication.java +++ b/src/main/java/core_service/CoreServiceApplication.java @@ -10,3 +10,4 @@ public class CoreServiceApplication { SpringApplication.run(CoreServiceApplication.class, args); } } + diff --git a/src/main/java/core_service/configuration/security/JwtAuthenticationFilter.java b/src/main/java/core_service/configuration/security/JwtAuthenticationFilter.java index 0c17c4c..32f3154 100644 --- a/src/main/java/core_service/configuration/security/JwtAuthenticationFilter.java +++ b/src/main/java/core_service/configuration/security/JwtAuthenticationFilter.java @@ -66,3 +66,4 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { filterChain.doFilter(request, response); } } + diff --git a/src/main/java/core_service/configuration/security/JwtConfig.java b/src/main/java/core_service/configuration/security/JwtConfig.java index 237e834..62ccd8c 100644 --- a/src/main/java/core_service/configuration/security/JwtConfig.java +++ b/src/main/java/core_service/configuration/security/JwtConfig.java @@ -13,3 +13,4 @@ public class JwtConfig { private String secret; } + diff --git a/src/main/java/core_service/configuration/security/JwtService.java b/src/main/java/core_service/configuration/security/JwtService.java index f7510ec..9dbdb99 100644 --- a/src/main/java/core_service/configuration/security/JwtService.java +++ b/src/main/java/core_service/configuration/security/JwtService.java @@ -53,3 +53,4 @@ public class JwtService { return Keys.hmacShaKeyFor(keyBytes); } } + diff --git a/src/main/java/core_service/configuration/security/SecurityConfig.java b/src/main/java/core_service/configuration/security/SecurityConfig.java index a8309b6..fc2ef3d 100644 --- a/src/main/java/core_service/configuration/security/SecurityConfig.java +++ b/src/main/java/core_service/configuration/security/SecurityConfig.java @@ -64,4 +64,4 @@ public class SecurityConfig { return http.build(); } -} \ No newline at end of file +} diff --git a/src/main/java/core_service/domain/steam_adapter/controller/SteamTestController.java b/src/main/java/core_service/modules/steam_adapter/api/SteamTestController.java similarity index 81% rename from src/main/java/core_service/domain/steam_adapter/controller/SteamTestController.java rename to src/main/java/core_service/modules/steam_adapter/api/SteamTestController.java index 8e7aa30..ab967d0 100644 --- a/src/main/java/core_service/domain/steam_adapter/controller/SteamTestController.java +++ b/src/main/java/core_service/modules/steam_adapter/api/SteamTestController.java @@ -1,7 +1,7 @@ -package core_service.domain.steam_adapter.controller; +package core_service.modules.steam_adapter.api; -import core_service.domain.steam_adapter.controller.dto.response.SteamPlayerSummaryResponse; -import core_service.domain.steam_adapter.service.SteamApiService; +import core_service.modules.steam_adapter.api.dto.response.SteamPlayerSummaryResponse; +import core_service.modules.steam_adapter.service.SteamApiService; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -29,4 +29,4 @@ public class SteamTestController { return ResponseEntity.notFound().build(); } } -} \ No newline at end of file +} diff --git a/src/main/java/core_service/domain/steam_adapter/controller/dto/response/SteamPlayerSummaryResponse.java b/src/main/java/core_service/modules/steam_adapter/api/dto/response/SteamPlayerSummaryResponse.java similarity index 81% rename from src/main/java/core_service/domain/steam_adapter/controller/dto/response/SteamPlayerSummaryResponse.java rename to src/main/java/core_service/modules/steam_adapter/api/dto/response/SteamPlayerSummaryResponse.java index dabe4dd..d850c0e 100644 --- a/src/main/java/core_service/domain/steam_adapter/controller/dto/response/SteamPlayerSummaryResponse.java +++ b/src/main/java/core_service/modules/steam_adapter/api/dto/response/SteamPlayerSummaryResponse.java @@ -1,4 +1,4 @@ -package core_service.domain.steam_adapter.controller.dto.response; +package core_service.modules.steam_adapter.api.dto.response; import java.util.List; @@ -12,4 +12,4 @@ public record SteamPlayerSummaryResponse(SteamResponse response) { String profileurl, String avatarfull ) {} -} \ No newline at end of file +} diff --git a/src/main/java/core_service/domain/steam_adapter/config/SteamClientConfig.java b/src/main/java/core_service/modules/steam_adapter/config/SteamClientConfig.java similarity index 89% rename from src/main/java/core_service/domain/steam_adapter/config/SteamClientConfig.java rename to src/main/java/core_service/modules/steam_adapter/config/SteamClientConfig.java index a2a8d34..60c12a7 100644 --- a/src/main/java/core_service/domain/steam_adapter/config/SteamClientConfig.java +++ b/src/main/java/core_service/modules/steam_adapter/config/SteamClientConfig.java @@ -1,4 +1,4 @@ -package core_service.domain.steam_adapter.config; +package core_service.modules.steam_adapter.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; @@ -13,4 +13,4 @@ public class SteamClientConfig { .baseUrl(baseUrl) .build(); } -} \ No newline at end of file +} diff --git a/src/main/java/core_service/domain/steam_adapter/service/SteamApiService.java b/src/main/java/core_service/modules/steam_adapter/service/SteamApiService.java similarity index 90% rename from src/main/java/core_service/domain/steam_adapter/service/SteamApiService.java rename to src/main/java/core_service/modules/steam_adapter/service/SteamApiService.java index 56fb50a..1dfb1a3 100644 --- a/src/main/java/core_service/domain/steam_adapter/service/SteamApiService.java +++ b/src/main/java/core_service/modules/steam_adapter/service/SteamApiService.java @@ -1,6 +1,6 @@ -package core_service.domain.steam_adapter.service; +package core_service.modules.steam_adapter.service; -import core_service.domain.steam_adapter.controller.dto.response.SteamPlayerSummaryResponse; +import core_service.modules.steam_adapter.api.dto.response.SteamPlayerSummaryResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -42,4 +42,4 @@ public class SteamApiService { return Optional.empty(); } -} \ No newline at end of file +} diff --git a/src/main/java/core_service/shared/security/UserPrincipal.java b/src/main/java/core_service/shared/security/UserPrincipal.java index 5eef2d7..62025d7 100644 --- a/src/main/java/core_service/shared/security/UserPrincipal.java +++ b/src/main/java/core_service/shared/security/UserPrincipal.java @@ -16,3 +16,4 @@ public record UserPrincipal( return Long.parseLong(id); } } +