diff --git a/build.gradle.kts b/build.gradle.kts index 5ccf0b6e..6440a0a7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -119,12 +119,13 @@ openApiGenerate { generatorName.set("spring") inputSpec.set("$rootDir/openapi/p4pa-auth.openapi.yaml") outputDir.set("$projectDir/build/generated") - apiPackage.set("openapi.pagopa.payhub.controller") - modelPackage.set("openapi.pagopa.payhub.model") + apiPackage.set("it.gov.pagopa.payhub.controller.generated") + modelPackage.set("it.gov.pagopa.payhub.model.generated") configOptions.set(mapOf( "dateLibrary" to "java8", "requestMappingMode" to "api_interface", "useSpringBoot3" to "true", - "interfaceOnly" to "true" + "interfaceOnly" to "true", + "useTags" to "true" )) } \ No newline at end of file diff --git a/openapi/p4pa-auth.openapi.yaml b/openapi/p4pa-auth.openapi.yaml index 8633e4e0..1dd45fee 100644 --- a/openapi/p4pa-auth.openapi.yaml +++ b/openapi/p4pa-auth.openapi.yaml @@ -9,7 +9,7 @@ paths: /auth: get: tags: - - authToken + - auth operationId: authToken parameters: - name: token diff --git a/src/main/java/it/gov/pagopa/payhub/auth/controller/AuthControllerImpl.java b/src/main/java/it/gov/pagopa/payhub/auth/controller/AuthControllerImpl.java index 09003b45..2ba36265 100644 --- a/src/main/java/it/gov/pagopa/payhub/auth/controller/AuthControllerImpl.java +++ b/src/main/java/it/gov/pagopa/payhub/auth/controller/AuthControllerImpl.java @@ -1,7 +1,7 @@ package it.gov.pagopa.payhub.auth.controller; import it.gov.pagopa.payhub.auth.service.AuthService; -import openapi.pagopa.payhub.controller.AuthApi; +import it.gov.pagopa.payhub.controller.generated.AuthApi; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandler.java b/src/main/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandler.java index 69640045..ad1966e4 100644 --- a/src/main/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandler.java +++ b/src/main/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandler.java @@ -2,9 +2,9 @@ import it.gov.pagopa.payhub.auth.exception.custom.InvalidTokenException; import it.gov.pagopa.payhub.auth.exception.custom.TokenExpiredException; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; -import openapi.pagopa.payhub.model.AuthErrorDTO; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.http.HttpStatus; @@ -20,21 +20,23 @@ public class AuthExceptionHandler { @ExceptionHandler({InvalidTokenException.class, TokenExpiredException.class}) @ResponseStatus(HttpStatus.UNAUTHORIZED) public AuthErrorDTO handleInvalidTokenException(ServiceException ex, HttpServletRequest request){ - logStackTrace(ex, request); + logException(ex, request); String message = ex.getMessage(); - log.info("A {} occurred handling request {}: HttpStatus 401 - {}", - ex.getClass(), - getRequestDetails(request), message); + return new AuthErrorDTO(ex.getCode(), message); } - public static void logStackTrace(ServiceException error, HttpServletRequest request) { + public static void logException(ServiceException error, HttpServletRequest request) { if(error.isPrintStackTrace()){ log.info("A {} occurred handling request {} at {}", error.getClass().getSimpleName() , getRequestDetails(request), error.getStackTrace().length > 0 ? error.getStackTrace()[0] : "UNKNOWN"); + }else { + log.info("A {} occurred handling request {}: HttpStatus 401 - {}", + error.getClass(), + getRequestDetails(request), error.getMessage()); } } diff --git a/src/main/java/it/gov/pagopa/payhub/auth/exception/ServiceException.java b/src/main/java/it/gov/pagopa/payhub/auth/exception/ServiceException.java index 71d9198a..6f6ee63b 100644 --- a/src/main/java/it/gov/pagopa/payhub/auth/exception/ServiceException.java +++ b/src/main/java/it/gov/pagopa/payhub/auth/exception/ServiceException.java @@ -1,7 +1,7 @@ package it.gov.pagopa.payhub.auth.exception; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import lombok.Getter; -import openapi.pagopa.payhub.model.AuthErrorDTO; @Getter public class ServiceException extends RuntimeException { diff --git a/src/main/java/it/gov/pagopa/payhub/auth/exception/ValidationExceptionHandler.java b/src/main/java/it/gov/pagopa/payhub/auth/exception/ValidationExceptionHandler.java index aac2e3cd..2fb10a42 100644 --- a/src/main/java/it/gov/pagopa/payhub/auth/exception/ValidationExceptionHandler.java +++ b/src/main/java/it/gov/pagopa/payhub/auth/exception/ValidationExceptionHandler.java @@ -1,8 +1,8 @@ package it.gov.pagopa.payhub.auth.exception; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; -import openapi.pagopa.payhub.model.AuthErrorDTO; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.http.HttpStatus; @@ -14,7 +14,7 @@ import java.util.Optional; -import static openapi.pagopa.payhub.model.AuthErrorDTO.CodeEnum.INVALID_REQUEST; +import static it.gov.pagopa.payhub.model.generated.AuthErrorDTO.CodeEnum.INVALID_REQUEST; @RestControllerAdvice @Slf4j diff --git a/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/InvalidTokenException.java b/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/InvalidTokenException.java index f7fffd08..0c67f734 100644 --- a/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/InvalidTokenException.java +++ b/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/InvalidTokenException.java @@ -1,8 +1,8 @@ package it.gov.pagopa.payhub.auth.exception.custom; import it.gov.pagopa.payhub.auth.exception.ServiceException; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import lombok.Getter; -import openapi.pagopa.payhub.model.AuthErrorDTO; @Getter public class InvalidTokenException extends ServiceException { diff --git a/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/TokenExpiredException.java b/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/TokenExpiredException.java index b8574f12..99c5db11 100644 --- a/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/TokenExpiredException.java +++ b/src/main/java/it/gov/pagopa/payhub/auth/exception/custom/TokenExpiredException.java @@ -1,8 +1,8 @@ package it.gov.pagopa.payhub.auth.exception.custom; import it.gov.pagopa.payhub.auth.exception.ServiceException; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import lombok.Getter; -import openapi.pagopa.payhub.model.AuthErrorDTO; @Getter public class TokenExpiredException extends ServiceException { diff --git a/src/main/java/it/gov/pagopa/payhub/auth/utils/JWTValidator.java b/src/main/java/it/gov/pagopa/payhub/auth/utils/JWTValidator.java index 71d124f4..614abd93 100644 --- a/src/main/java/it/gov/pagopa/payhub/auth/utils/JWTValidator.java +++ b/src/main/java/it/gov/pagopa/payhub/auth/utils/JWTValidator.java @@ -11,7 +11,7 @@ import com.auth0.jwt.interfaces.DecodedJWT; import it.gov.pagopa.payhub.auth.exception.custom.InvalidTokenException; import it.gov.pagopa.payhub.auth.exception.custom.TokenExpiredException; -import openapi.pagopa.payhub.model.AuthErrorDTO; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import org.springframework.stereotype.Component; import java.security.interfaces.RSAPublicKey; diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 4bd7b8f5..c46c6d4c 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -7,8 +7,6 @@ - diff --git a/src/test/java/it/gov/pagopa/payhub/auth/controller/AuthControllerTest.java b/src/test/java/it/gov/pagopa/payhub/auth/controller/AuthControllerTest.java index 4b4169fd..4bb683da 100644 --- a/src/test/java/it/gov/pagopa/payhub/auth/controller/AuthControllerTest.java +++ b/src/test/java/it/gov/pagopa/payhub/auth/controller/AuthControllerTest.java @@ -3,7 +3,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import it.gov.pagopa.payhub.auth.exception.ValidationExceptionHandler; import it.gov.pagopa.payhub.auth.service.AuthService; -import openapi.pagopa.payhub.model.AuthErrorDTO; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/test/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandlerTest.java b/src/test/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandlerTest.java index d8803da7..2c413a03 100644 --- a/src/test/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandlerTest.java +++ b/src/test/java/it/gov/pagopa/payhub/auth/exception/AuthExceptionHandlerTest.java @@ -3,8 +3,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import it.gov.pagopa.payhub.auth.exception.custom.InvalidTokenException; import it.gov.pagopa.payhub.auth.exception.custom.TokenExpiredException; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import lombok.extern.slf4j.Slf4j; -import openapi.pagopa.payhub.model.AuthErrorDTO; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoExtension; diff --git a/src/test/java/it/gov/pagopa/payhub/auth/service/AuthServiceTest.java b/src/test/java/it/gov/pagopa/payhub/auth/service/AuthServiceTest.java index 5c597ee8..ce4da584 100644 --- a/src/test/java/it/gov/pagopa/payhub/auth/service/AuthServiceTest.java +++ b/src/test/java/it/gov/pagopa/payhub/auth/service/AuthServiceTest.java @@ -4,7 +4,7 @@ import it.gov.pagopa.payhub.auth.exception.custom.InvalidTokenException; import it.gov.pagopa.payhub.auth.utils.JWTValidator; import it.gov.pagopa.payhub.auth.utils.JWTValidatorUtils; -import openapi.pagopa.payhub.model.AuthErrorDTO; +import it.gov.pagopa.payhub.model.generated.AuthErrorDTO; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;