diff --git a/pom.xml b/pom.xml index c1054fc..4daca5e 100644 --- a/pom.xml +++ b/pom.xml @@ -12,6 +12,7 @@ 3.14.1 3.5.4 3.5.4 + 1.18.2 UTF-8 UTF-8 quarkus-bom @@ -29,6 +30,13 @@ pom import + + ${quarkus.platform.group-id} + quarkus-camel-bom + ${quarkus.platform.version} + pom + import + @@ -76,6 +84,21 @@ + + org.eclipse.jkube + openshift-maven-plugin + ${compiler-plugin-openshift.version} + + + + + maven-volumen + /root/.m2 + + + + + ${quarkus.platform.group-id} quarkus-maven-plugin @@ -86,6 +109,7 @@ build generate-code + generate-code-tests native-image-agent @@ -97,13 +121,6 @@ ${compiler-plugin.version} true - - - org.projectlombok - lombok - ${lombok.version} - - @@ -149,9 +166,21 @@ - false + false + native true + + + + src/main/resources + + application-dev.yaml + application-local.yaml + + + + \ No newline at end of file diff --git a/scripts/native/Dockerfile b/scripts/native/Dockerfile index 72f24d8..217f6a8 100644 --- a/scripts/native/Dockerfile +++ b/scripts/native/Dockerfile @@ -10,11 +10,11 @@ # # Then, build the image with: # -# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/rec-update-card-status . +# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/rec-legal-customer-product-directory . # # Then run the container using: # -# docker run -i --rm -p 8080:8080 quarkus/rec-update-card-transaction-switch +# docker run -i --rm -p 8080:8080 quarkus/rec-legal-customer-product-directory # ### FROM quay.io/quarkus/quarkus-micro-image:2.0 diff --git a/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java b/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java index 4f2880a..c868a70 100644 --- a/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java +++ b/src/main/java/com/banesco/common/application/helper/ErrorResponseHelper.java @@ -83,25 +83,6 @@ public class ErrorResponseHelper { .build(); } - public StatusResponse handleGenericException(BaseApiException exception) { - ErrorMapping mapping = errorMappings.getOrDefault( - exception.getErrorCode(), - errorMappings.getOrDefault(ERROR_DEFAULT, createDefaultMapping()) - ); - StatusResponse status = createErrorResponse( - mapping, null - ); - - log.error( - "[{}] Error {} -> {}", - exception.getExceptionType(), - exception.getErrorCode(), - status.getMessage() - ); - - return status; - } - public ApiResponse buildServiceUnavailableResponse() { return new ApiResponse<>(null, createSuccessResponse("503")); } @@ -123,7 +104,7 @@ public class ErrorResponseHelper { log.error( - "[{}] Error {} -> {}", + "[{}] Message {} -> {}", exception.getExceptionType(), exception.getErrorCode(), status.getMessage() diff --git a/src/main/java/com/banesco/common/domain/exception/SuccessException.java b/src/main/java/com/banesco/common/domain/exception/SuccessException.java new file mode 100644 index 0000000..141c661 --- /dev/null +++ b/src/main/java/com/banesco/common/domain/exception/SuccessException.java @@ -0,0 +1,11 @@ +package com.banesco.common.domain.exception; + +public class SuccessException extends BaseApiException { + public SuccessException(String code, String message, String fieldPath) { + super(code, message, fieldPath, "ok"); + } + + public SuccessException(String code, String fieldPath) { + super(code, fieldPath, "ok"); + } +} diff --git a/src/main/java/com/banesco/common/domain/model/CurrencyType.java b/src/main/java/com/banesco/common/domain/model/CurrencyType.java new file mode 100644 index 0000000..29c2d34 --- /dev/null +++ b/src/main/java/com/banesco/common/domain/model/CurrencyType.java @@ -0,0 +1,9 @@ +package com.banesco.common.domain.model; + +public enum CurrencyType { + BASE, + REPORTING, + SECONDARY, + TRANSFER +} + diff --git a/src/main/java/com/banesco/common/domain/model/CurrencyType.kt b/src/main/java/com/banesco/common/domain/model/CurrencyType.kt deleted file mode 100644 index af7074e..0000000 --- a/src/main/java/com/banesco/common/domain/model/CurrencyType.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.banesco.common.domain.model - -enum class CurrencyType { - BASE, - REPORTING, - SECONDARY, - TRANSFER -} \ No newline at end of file diff --git a/src/main/java/com/banesco/common/domain/model/Identifier.java b/src/main/java/com/banesco/common/domain/model/Identifier.java index 17dc121..d320348 100644 --- a/src/main/java/com/banesco/common/domain/model/Identifier.java +++ b/src/main/java/com/banesco/common/domain/model/Identifier.java @@ -1,12 +1,14 @@ package com.banesco.common.domain.model; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class Identifier { private String identifierValue; private String issuingAuthority; diff --git a/src/main/java/com/banesco/common/domain/model/Name.java b/src/main/java/com/banesco/common/domain/model/Name.java index 48963be..37eea67 100644 --- a/src/main/java/com/banesco/common/domain/model/Name.java +++ b/src/main/java/com/banesco/common/domain/model/Name.java @@ -1,12 +1,14 @@ package com.banesco.common.domain.model; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class Name { private String fullName; } diff --git a/src/main/java/com/banesco/module/account/domain/model/Account.java b/src/main/java/com/banesco/module/account/domain/model/Account.java index 23db675..5727ebd 100644 --- a/src/main/java/com/banesco/module/account/domain/model/Account.java +++ b/src/main/java/com/banesco/module/account/domain/model/Account.java @@ -1,14 +1,16 @@ package com.banesco.module.account.domain.model; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; import java.util.List; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class Account { private AccountStatus accountStatus; private List accountIdentification; diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java b/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java index 4d3167f..8a64894 100644 --- a/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java +++ b/src/main/java/com/banesco/module/account/domain/model/AccountBalance.java @@ -1,14 +1,16 @@ package com.banesco.module.account.domain.model; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; import java.math.BigDecimal; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class AccountBalance { private BigDecimal balanceAmount; private String balanceType; diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java b/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java index cd398d9..40e8b5d 100644 --- a/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java +++ b/src/main/java/com/banesco/module/account/domain/model/AccountCurrency.java @@ -1,13 +1,15 @@ package com.banesco.module.account.domain.model; import com.banesco.common.domain.model.CurrencyType; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class AccountCurrency { private String currencyCode; private CurrencyType currencyType; diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java b/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java index b3e121e..422c13a 100644 --- a/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java +++ b/src/main/java/com/banesco/module/account/domain/model/AccountDateTime.java @@ -1,12 +1,14 @@ package com.banesco.module.account.domain.model; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class AccountDateTime { private String dateType; private String date; diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java b/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java index 40cd70b..93da671 100644 --- a/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java +++ b/src/main/java/com/banesco/module/account/domain/model/AccountIdentification.java @@ -1,13 +1,15 @@ package com.banesco.module.account.domain.model; import com.banesco.common.domain.model.Identifier; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class AccountIdentification { private String accountIdentificationType; private Identifier accountIdentification; diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java b/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java index f819d6d..e9d6930 100644 --- a/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java +++ b/src/main/java/com/banesco/module/account/domain/model/AccountInvolvement.java @@ -1,13 +1,15 @@ package com.banesco.module.account.domain.model; import com.banesco.module.party.domain.model.Party; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class AccountInvolvement { private String accountInvolvementType; private Party partyReference; diff --git a/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java b/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java index 69d1423..bbe6584 100644 --- a/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java +++ b/src/main/java/com/banesco/module/account/domain/model/AccountStatus.java @@ -1,12 +1,14 @@ package com.banesco.module.account.domain.model; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class AccountStatus { private String status; private String statusType; diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java b/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java index 15720b9..9c9b457 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/application/service/LegalCustomerProductDirectoryService.java @@ -4,15 +4,25 @@ import com.banesco.common.application.helper.ErrorResponseHelper; import com.banesco.common.application.helper.RequestValidatorHelper; import com.banesco.common.domain.exception.BaseApiException; import com.banesco.common.domain.exception.ServiceUnavailableException; -import com.banesco.common.domain.model.ApiResponse; +import com.banesco.common.domain.model.*; +import com.banesco.module.account.domain.model.*; import com.banesco.module.legal_customer_product_directory.application.usecase.BusinessUseCase; import com.banesco.module.legal_customer_product_directory.application.usecase.LegalCustomerProductDirectoryUseCase; import com.banesco.module.legal_customer_product_directory.domain.dto.request.LegalCustomerProductDirectoryRequest; import com.banesco.module.legal_customer_product_directory.domain.dto.response.LegalCustomerProductDirectoryResponse; +import com.banesco.module.legal_customer_product_directory.domain.model.CustomerProductAndServiceDirectory; +import com.banesco.module.party.domain.model.Party; +import com.banesco.module.party.domain.model.PartyIdentification; +import com.banesco.module.party.domain.model.PartyIdentificationType; +import com.banesco.module.party.domain.model.PartyType; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import lombok.extern.slf4j.Slf4j; +import java.math.BigDecimal; +import java.util.List; +import java.util.Objects; + @Slf4j @ApplicationScoped public class LegalCustomerProductDirectoryService implements LegalCustomerProductDirectoryUseCase { @@ -41,29 +51,159 @@ public class LegalCustomerProductDirectoryService implements LegalCustomerProduc try { return business(request); } catch (BaseApiException e) { + if(Objects.equals(e.getErrorCode(), "200")) { + return createSuccessMock(); + } + throw e; } catch (Exception e) { throw new ServiceUnavailableException("503", e.getMessage(), null); } } - private ApiResponse business( - LegalCustomerProductDirectoryRequest request - ) { - log.info("Calling business service for client: {}", request.getCustomerIbsNumber()); - - return businessUseCase.execute( - request.getCustomerIbsNumber(), - request.toBusinessRequest(), - request.toBusinessHeaders(), - LegalCustomerProductDirectoryResponse.class - ); - } - private void validate( LegalCustomerProductDirectoryRequest request ) { requestValidatorHelper.validateRequired(request); requestValidatorHelper.validateFieldValues(request); } + + private ApiResponse business( + LegalCustomerProductDirectoryRequest request + ) { + log.info("Calling business service for client: {}", request.getCustomerIbsNumber()); + + return businessUseCase.execute( + true, + request.getCustomerIbsNumber(), + request.toBusinessRequest(), + request.toBusinessHeaders(), + LegalCustomerProductDirectoryResponse.class + ); + } + + private ApiResponse createSuccessMock() { + StatusResponse statusResponse = StatusResponse.builder() + .statusCode("200") + .message("Operación exitosa") + .build(); + + return new ApiResponse<>( + LegalCustomerProductDirectoryResponse.builder() + .customerProductAndServiceDirectory(CustomerProductAndServiceDirectory.builder() + .party(Party.builder() + .partyName(List.of( + Name.builder() + .fullName("TASCA RESTAURANT GOOD WORLD CEN, C.A.") + .build() + )) + .partyType(PartyType.ORGANISATION) + .partyDateTime(List.of()) + .partyIdentification(List.of( + PartyIdentification.builder() + .partyIdentificationType(PartyIdentificationType.TAX_IDENTIFICATION_NUMBER) + .partyIdentification(Identifier.builder() + .identifierValue("J000000001") + .issuingAuthority("") + .build()) + .build() + )) + .partyLegalStructureType("") + .build()) + .accounts(List.of( + Account.builder() + .accountStatus(AccountStatus.builder() + .status("D") + .build()) + .accountIdentification(List.of( + AccountIdentification.builder() + .accountIdentificationType("NUMERO_CUENTA") + .accountIdentification(Identifier.builder() + .identifierValue("01340025330253093528") + .issuingAuthority("") + .build()) + .build(), + AccountIdentification.builder() + .accountIdentificationType("NUMERO_BANCO") + .accountIdentification(Identifier.builder() + .identifierValue("01") + .issuingAuthority("") + .build()) + .build(), + AccountIdentification.builder() + .accountIdentificationType("CODIGO_PRODUCTO") + .accountIdentification(Identifier.builder() + .identifierValue("3980") + .issuingAuthority("") + .build()) + .build(), + AccountIdentification.builder() + .accountIdentificationType("CLASE_CUENTA") + .accountIdentification(Identifier.builder() + .identifierValue("80") + .issuingAuthority("") + .build()) + .build(), + AccountIdentification.builder() + .accountIdentificationType("TIPO_CUENTA") + .accountIdentification(Identifier.builder() + .identifierValue("MMK") + .issuingAuthority("") + .build()) + .build() + )) + .accountDate(List.of()) + .accountBalance(List.of( + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(390417.36)) + .balanceType("SALDO_DISPONIBLE") + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(100000.00)) + .balanceType("MAXIMO_DIARIO") + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(100000.00)) + .balanceType("MAXIMO_TRANSACCION") + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(3000000.00)) + .balanceType("MAXIMO_MENSUAL") + .build(), + AccountBalance.builder() + .balanceAmount(BigDecimal.valueOf(0.01)) + .balanceType("MINIMO_TRANSACCION") + .build() + )) + .accountCurrency(List.of( + AccountCurrency.builder() + .currencyCode("BS") + .currencyType(CurrencyType.BASE) + .build() + )) + .accountDescription("TASCA RESTAURANT GOOD WORLD CEN, C.A.") + .accountName("") + .accountInvolvement(List.of( + AccountInvolvement.builder() + .accountInvolvementType("CONTACTO_TELEFONICO") + .partyReference(Party.builder() + .partyIdentification(List.of( + PartyIdentification.builder() + .partyIdentificationType(PartyIdentificationType.TELEPHONE_NUMBER) + .partyIdentification(Identifier.builder() + .identifierValue("04122710660") + .issuingAuthority("") + .build()) + .build() + )) + .build()) + .build() + )) + .build() + )) + .build()) + .build(), + statusResponse + ); + } } \ No newline at end of file diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java b/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java index 8e9fd65..519eb43 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/application/usecase/BusinessUseCase.java @@ -6,6 +6,7 @@ import java.util.Map; public interface BusinessUseCase { ApiResponse execute( + boolean isMock, String customerIbsNumber, Map queryParams, Map headers, diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java index 0642d56..ffe18cc 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/dto/response/LegalCustomerProductDirectoryResponse.java @@ -1,16 +1,15 @@ package com.banesco.module.legal_customer_product_directory.domain.dto.response; -import com.banesco.common.domain.model.StatusResponse; import com.banesco.module.legal_customer_product_directory.domain.model.CustomerProductAndServiceDirectory; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString @Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class LegalCustomerProductDirectoryResponse { private CustomerProductAndServiceDirectory customerProductAndServiceDirectory; - private StatusResponse statusResponse; } diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java index 104e923..937446a 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/domain/model/CustomerProductAndServiceDirectory.java @@ -2,15 +2,17 @@ package com.banesco.module.legal_customer_product_directory.domain.model; import com.banesco.module.account.domain.model.Account; import com.banesco.module.party.domain.model.Party; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; import java.util.List; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class CustomerProductAndServiceDirectory { private Party party; private List accounts; diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java index ff8d015..0c39592 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/client/BusLegalCustomerDirectoryClient.java @@ -1,10 +1,12 @@ package com.banesco.module.legal_customer_product_directory.infrastructure.client; -import com.banesco.common.application.helper.ErrorResponseHelper; import com.banesco.common.application.usecase.HttpClientUseCase; +import com.banesco.common.domain.exception.ServiceUnavailableException; +import com.banesco.common.domain.exception.SuccessException; import com.banesco.common.domain.model.ApiResponse; import com.banesco.common.domain.model.HttpRequest; import com.banesco.common.infrastructure.config.RestClientConfig; +import com.banesco.common.infrastructure.context.RequestContext; import com.banesco.module.legal_customer_product_directory.application.usecase.BusinessUseCase; import lombok.extern.slf4j.Slf4j; import jakarta.enterprise.context.ApplicationScoped; @@ -16,29 +18,32 @@ import java.util.Map; @ApplicationScoped public class BusLegalCustomerDirectoryClient implements BusinessUseCase { private final HttpClientUseCase httpClientUseCase; - private final ErrorResponseHelper errorResponseHelper; private final RestClientConfig.BusConfig busConfig; @Inject public BusLegalCustomerDirectoryClient( HttpClientUseCase httpClientUseCase, - ErrorResponseHelper errorResponseHelper, RestClientConfig restClientConfig ) { this.httpClientUseCase = httpClientUseCase; - this.errorResponseHelper = errorResponseHelper; this.busConfig = restClientConfig.getBusLegalCustomerConfig(); log.info("Configuración cargada para bus-legal-customer-directory: {}", busConfig); } @Override public ApiResponse execute( + boolean isMock, String customerIbsNumber, Map queryParams, Map headers, Class responseType ) { - log.info("Consultando información del cliente: {}", customerIbsNumber); + String requestId = RequestContext.getRequestId(); + log.info("{} Consultando información del cliente: {}", requestId, customerIbsNumber); + + if(isMock) { + throw new SuccessException("200", null); + } try { HttpRequest request = HttpRequest.builder() @@ -57,7 +62,7 @@ public class BusLegalCustomerDirectoryClient implements BusinessUseCase { return httpClientUseCase.execute(request); } catch (Exception e) { log.error("Error consultando cliente {}: {}", customerIbsNumber, e.getMessage()); - return errorResponseHelper.buildServiceUnavailableResponse(); + throw new ServiceUnavailableException("503", e.getMessage(), null); } } } \ No newline at end of file diff --git a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java index 1e6a372..7269a99 100644 --- a/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java +++ b/src/main/java/com/banesco/module/legal_customer_product_directory/infrastructure/resource/LegalCustomerProductDirectoryResource.java @@ -165,7 +165,7 @@ public class LegalCustomerProductDirectoryResource { } }, "statusResponse": { - "statusCode": "000", + "statusCode": "200", "message": "Operación exitosa" } } diff --git a/src/main/java/com/banesco/module/party/domain/model/Party.java b/src/main/java/com/banesco/module/party/domain/model/Party.java index 9a0c190..40e005e 100644 --- a/src/main/java/com/banesco/module/party/domain/model/Party.java +++ b/src/main/java/com/banesco/module/party/domain/model/Party.java @@ -1,15 +1,17 @@ package com.banesco.module.party.domain.model; import com.banesco.common.domain.model.Name; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; import java.util.List; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class Party { private List partyName; private PartyType partyType; diff --git a/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java b/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java index 07c3463..c04d4ba 100644 --- a/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java +++ b/src/main/java/com/banesco/module/party/domain/model/PartyDateTime.java @@ -1,12 +1,14 @@ package com.banesco.module.party.domain.model; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class PartyDateTime { private String dateTimeType; private String dateTime; diff --git a/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java b/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java index 41e9ca3..d57f164 100644 --- a/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java +++ b/src/main/java/com/banesco/module/party/domain/model/PartyIdentification.java @@ -1,13 +1,15 @@ package com.banesco.module.party.domain.model; import com.banesco.common.domain.model.Identifier; +import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.*; @Getter -@Setter @ToString +@Builder @NoArgsConstructor @AllArgsConstructor +@RegisterForReflection public class PartyIdentification { private PartyIdentificationType partyIdentificationType; private Identifier partyIdentification; diff --git a/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java b/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java index 1792dfc..2aff069 100644 --- a/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java +++ b/src/main/java/com/banesco/module/security/infrastructure/client/RegisterSecurityClient.java @@ -1,7 +1,7 @@ package com.banesco.module.security.infrastructure.client; -import com.banesco.common.application.helper.ErrorResponseHelper; import com.banesco.common.application.usecase.HttpClientUseCase; +import com.banesco.common.domain.exception.ServiceUnavailableException; import com.banesco.common.domain.model.ApiResponse; import com.banesco.common.domain.model.HttpRequest; import com.banesco.common.infrastructure.config.RestClientConfig; @@ -18,17 +18,14 @@ import java.util.Map; @ApplicationScoped public class RegisterSecurityClient implements SecurityUseCase { private final HttpClientUseCase httpClientUseCase; - private final ErrorResponseHelper errorResponseHelper; private final RestClientConfig.RegisterSecurityConfig securityConfig; @Inject public RegisterSecurityClient( HttpClientUseCase httpClientUseCase, - ErrorResponseHelper errorResponseHelper, RestClientConfig restClientConfig ) { this.httpClientUseCase = httpClientUseCase; - this.errorResponseHelper = errorResponseHelper; this.securityConfig = restClientConfig.getRegisterSecurityConfig(); log.info("Configuración cargada para register-security: {}", securityConfig); } @@ -49,7 +46,7 @@ public class RegisterSecurityClient implements SecurityUseCase { } catch (Exception e) { log.error("Error registrando traza de seguridad: {}", e.getMessage(), e); - return errorResponseHelper.buildServiceUnavailableResponse(); + throw new ServiceUnavailableException("503", e.getMessage(), null); } }