From 5282e867853c3cba11b8b7b7c58b66d929131682 Mon Sep 17 00:00:00 2001
From: yurii_ruban <yurii_ruban@epam.com>
Date: Tue, 18 Mar 2025 17:17:43 +0300
Subject: [PATCH] Excluded push API point

---
 .../osdu/notification/auth/AuthorizationFilter.java | 13 ++-----------
 .../osdu/notification/di/RequestInfoExt.java        | 10 ----------
 .../notification/provider/gcp/GcApplication.java    |  6 ++++++
 3 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java b/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java
index 53a4677e4..1c8336f3c 100644
--- a/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java
+++ b/notification-core/src/main/java/org/opengroup/osdu/notification/auth/AuthorizationFilter.java
@@ -30,8 +30,6 @@ import org.opengroup.osdu.notification.provider.interfaces.IServiceAccountValida
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.annotation.RequestScope;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
 import jakarta.servlet.http.HttpServletRequest;
 import java.util.Arrays;
@@ -53,7 +51,6 @@ public class AuthorizationFilter {
     private ICache<String, Groups> cache;
 
     public boolean hasAnyPermission(String... requiredRoles) {
-        requestInfoExt.checkHeaders(getRequest());
         DpsHeaders dpsHeaders = requestInfoExt.getHeaders();
         if (StringUtils.isBlank(dpsHeaders.getAuthorization()))
             throw new AppException(302, "Redirect", "No credentials sent on request.");
@@ -62,9 +59,8 @@ public class AuthorizationFilter {
             requestInfoExt.assignPartitionIdIfNotInHeader();
         }
 
-        HttpServletRequest request = getRequest();
-        String path = request != null ? request.getServletPath() : "";
-        if (request != null && "GET".equals(request.getMethod()) &&
+        String path = request.getServletPath();
+        if ("GET".equals(request.getMethod()) &&
            (path.equals("/swagger-ui.html") || path.equals("/info"))) {
             return true;
         }
@@ -116,9 +112,4 @@ public class AuthorizationFilter {
         requestInfoExt.setHeaders(dpsHeaders);
         return authorizationResponse;
     }
-
-    private HttpServletRequest getRequest() {
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        return attributes != null ? attributes.getRequest() : null;
-    }
 }
diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java b/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java
index 51bb18d27..3ae35d2ce 100644
--- a/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java
+++ b/notification-core/src/main/java/org/opengroup/osdu/notification/di/RequestInfoExt.java
@@ -68,14 +68,4 @@ public class RequestInfoExt extends RequestInfo {
             headers.put(DpsHeaders.DATA_PARTITION_ID, tenant);
         }
     }
-
-    public void checkHeaders(HttpServletRequest request) {
-        if (request != null) {
-            Map<String, String> headersFromRequest = Collections
-                    .list(request.getHeaderNames())
-                    .stream()
-                    .collect(Collectors.toMap(h -> h, request::getHeader));
-            this.setHeaders(DpsHeaders.createFromMap(headersFromRequest));
-        }
-    }
 }
diff --git a/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java b/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java
index 26f748dea..be0a5cc8a 100644
--- a/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java
+++ b/provider/notification-gc/src/main/java/org/opengroup/osdu/notification/provider/gcp/GcApplication.java
@@ -16,6 +16,7 @@
 
 package org.opengroup.osdu.notification.provider.gcp;
 
+import org.opengroup.osdu.notification.api.PubsubEndpoint;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
@@ -26,6 +27,11 @@ import org.springframework.scheduling.annotation.EnableAsync;
 
 @SpringBootApplication
 @ComponentScan(value = {"org.opengroup.osdu"}, excludeFilters = {
+		@Filter(
+				type = FilterType.ASSIGNABLE_TYPE,
+				value = {
+						PubsubEndpoint.class
+				}),
 		@Filter(
 				type = FilterType.REGEX,
 				pattern = {"org.opengroup.osdu.core.gcp.multitenancy.StorageFactory"}
-- 
GitLab