From b633d30f97ecbe5524dba7924ebf126c483c61fd Mon Sep 17 00:00:00 2001 From: Maximilian Wesener Date: Mon, 1 Jul 2024 15:57:14 +0200 Subject: [PATCH] feature(chore):786 added alternative port for internal access only. --- .../traceability/common/config/ApplicationConfig.java | 3 +++ .../traceability/common/config/SecurityConfig.java | 8 ++++---- .../common/config/TrustedEndpointsFilter.java | 2 +- .../domain/contract/EdcNotificationContractService.java | 3 ++- .../notification/infrastructure/edc/EdcController.java | 2 ++ 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/ApplicationConfig.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/ApplicationConfig.java index 54b0809cc9..fa38eaae74 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/ApplicationConfig.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/ApplicationConfig.java @@ -47,6 +47,9 @@ @EnableJpaRepositories(basePackages = "org.eclipse.tractusx.traceability.*") public class ApplicationConfig { + public static String APPLICATION_PATH = "/api"; + public static String INTERNAL_ENDPOINT = "/internal"; + @Bean public InternalResourceViewResolver defaultViewResolver() { return new InternalResourceViewResolver(); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/SecurityConfig.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/SecurityConfig.java index ce829cc126..00367212d3 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/SecurityConfig.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/SecurityConfig.java @@ -50,10 +50,10 @@ public class SecurityConfig { "/v3/api-docs/**", "/swagger-ui/**", "/webjars/swagger-ui/**", - "/qualitynotifications/receive", - "/qualityalerts/receive", - "/qualitynotifications/update", - "/qualityalerts/update", + "/internal/qualitynotifications/receive", + "/internal/qualityalerts/receive", + "/internal/qualitynotifications/update", + "/internal/qualityalerts/update", "/callback/endpoint-data-reference", "/internal/endpoint-data-reference", "/actuator/**", diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/TrustedEndpointsFilter.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/TrustedEndpointsFilter.java index 50dc76f5c4..1490fd6aeb 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/TrustedEndpointsFilter.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/common/config/TrustedEndpointsFilter.java @@ -78,6 +78,6 @@ public void doFilter(final ServletRequest servletRequest, final ServletResponse private boolean isRequestForTrustedEndpoint(final ServletRequest servletRequest) { log.warn(((HttpServletRequestWrapper) servletRequest).getRequestURI()); return ((HttpServletRequestWrapper) servletRequest).getRequestURI() - .startsWith("/api/" + ApiConstants.API_PREFIX_INTERNAL); + .startsWith(ApplicationConfig.APPLICATION_PATH + ApplicationConfig.INTERNAL_ENDPOINT); } } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/contract/EdcNotificationContractService.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/contract/EdcNotificationContractService.java index 6b522f9e3a..ed02495d97 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/contract/EdcNotificationContractService.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/domain/contract/EdcNotificationContractService.java @@ -21,6 +21,7 @@ ********************************************************************************/ package org.eclipse.tractusx.traceability.notification.domain.contract; +import org.eclipse.tractusx.traceability.common.config.ApplicationConfig; import policies.response.PolicyResponse; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -155,6 +156,6 @@ private void revertNotificationAsset(String notificationAssetId) { private String createBaseUrl(org.eclipse.tractusx.traceability.notification.application.contract.model.NotificationType notificationType, NotificationMethod notificationMethod) { final String template = notificationType.equals(org.eclipse.tractusx.traceability.notification.application.contract.model.NotificationType.QUALITY_ALERT) ? TRACE_FOSS_QUALITY_NOTIFICATION_ALERT_URL_TEMPLATE : TRACE_FOSS_QUALITY_NOTIFICATION_INVESTIGATION_URL_TEMPLATE; - return traceabilityProperties.getUrl() + template.formatted(notificationMethod.getValue()); + return traceabilityProperties.getUrl() + ApplicationConfig.INTERNAL_ENDPOINT + template.formatted(notificationMethod.getValue()); } } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/EdcController.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/EdcController.java index 4b4e2ecdac..ccaabe9377 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/EdcController.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/notification/infrastructure/edc/EdcController.java @@ -38,6 +38,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import static org.eclipse.tractusx.traceability.common.model.SecurityUtils.sanitize; @@ -47,6 +48,7 @@ @RestController @Validated @RequiredArgsConstructor +@RequestMapping(path = "/internal") public class EdcController { private final NotificationReceiverService notificationReceiverService;