diff --git a/pom.xml b/pom.xml
index 8728558..90622c1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
dom-retrieve-security-notification
1.0-native-quarkus-jdk17
dom-retrieve-security-notification
- API Domain - Read payment statuses of the file by ID
+ API Domain - Read alert message by ID
17
diff --git a/scripts/native/file/dom-retrieve-security-notification-1.0-native-quarkus-jdk17-runner b/scripts/native/file/dom-retrieve-security-notification-1.0-native-quarkus-jdk17-runner
index 30b0bd5..5f07de7 100644
Binary files a/scripts/native/file/dom-retrieve-security-notification-1.0-native-quarkus-jdk17-runner and b/scripts/native/file/dom-retrieve-security-notification-1.0-native-quarkus-jdk17-runner differ
diff --git a/src/main/java/com/banesco/common/domain/model/HttpRequest.java b/src/main/java/com/banesco/common/domain/model/HttpRequest.java
index af48ca7..35a46e8 100644
--- a/src/main/java/com/banesco/common/domain/model/HttpRequest.java
+++ b/src/main/java/com/banesco/common/domain/model/HttpRequest.java
@@ -58,103 +58,117 @@ public class HttpRequest {
private boolean logResponseBody = true;
public static HttpRequest forApiResponse(
- String url,
- HttpMethod method,
- Class dataType
+ String url,
+ HttpMethod method,
+ Class dataType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiResponse.class)
- .genericType(dataType)
- .apiResponse(true)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiResponse.class)
+ .genericType(dataType)
+ .apiResponse(true)
+ .build();
}
public static HttpRequest forApiResponseList(
- String url,
- HttpMethod method,
- Class elementType
+ String url,
+ HttpMethod method,
+ Class elementType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiResponse.class)
- .complexType(TypeBuilder.listOf(elementType))
- .apiResponse(true)
- .listResponse(true)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiResponse.class)
+ .complexType(TypeBuilder.listOf(elementType))
+ .apiResponse(true)
+ .listResponse(true)
+ .build();
}
public static HttpRequest forApiPrivateResponse(
- String url,
- String statusSuccess,
- HttpMethod method,
- Class successType
+ String url,
+ String statusSuccess,
+ HttpMethod method,
+ Class successType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiPrivateResponse.class)
- .complexType(TypeBuilder.parametricType(
- Either.class,
- successType,
- ApiPrivateError.class
- ))
- .apiPrivateResponse(true)
- .eitherResponse(true)
- .errorType(ApiPrivateError.class)
- .statusSuccess(statusSuccess)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiPrivateResponse.class)
+ .complexType(TypeBuilder.parametricType(
+ Either.class,
+ successType,
+ ApiPrivateError.class
+ ))
+ .apiPrivateResponse(true)
+ .eitherResponse(true)
+ .errorType(ApiPrivateError.class)
+ .statusSuccess(statusSuccess)
+ .build();
}
public static HttpRequest forApiPrivateResponseList(
- String url,
- String statusSuccess,
- HttpMethod method,
- Class elementType
+ String url,
+ String statusSuccess,
+ HttpMethod method,
+ Class elementType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(ApiPrivateResponse.class)
- .complexType(TypeBuilder.parametricType(
- Either.class,
- TypeBuilder.listOf(elementType),
- ApiPrivateError.class
- ))
- .apiPrivateResponse(true)
- .eitherResponse(true)
- .listResponse(true)
- .errorType(ApiPrivateError.class)
- .statusSuccess(statusSuccess)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(ApiPrivateResponse.class)
+ .complexType(TypeBuilder.parametricType(
+ Either.class,
+ TypeBuilder.listOf(elementType),
+ ApiPrivateError.class
+ ))
+ .apiPrivateResponse(true)
+ .eitherResponse(true)
+ .listResponse(true)
+ .errorType(ApiPrivateError.class)
+ .statusSuccess(statusSuccess)
+ .build();
}
public static HttpRequest forDirectResponse(
- String url,
- HttpMethod method,
- Class responseType
+ String url,
+ HttpMethod method,
+ Class responseType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(responseType)
- .build();
+ .url(url)
+ .method(method)
+ .responseType(responseType)
+ .build();
+ }
+
+ public static HttpRequest forDirectResponse(
+ String url,
+ HttpMethod method,
+ Class responseType,
+ Class errorType
+ ) {
+ return HttpRequest.builder()
+ .url(url)
+ .method(method)
+ .responseType(responseType)
+ .errorType(errorType)
+ .build();
}
public static HttpRequest forGenericResponse(
- String url,
- HttpMethod method,
- Class rawType,
- Class genericType
+ String url,
+ HttpMethod method,
+ Class rawType,
+ Class genericType
) {
return HttpRequest.builder()
- .url(url)
- .method(method)
- .responseType(rawType)
- .complexType(TypeBuilder.parametricType(rawType, genericType))
- .build();
+ .url(url)
+ .method(method)
+ .responseType(rawType)
+ .complexType(TypeBuilder.parametricType(rawType, genericType))
+ .build();
}
public HttpRequest withHeaders(Map headers) {
diff --git a/src/main/java/com/banesco/module/correspondence/application/service/CorrespondenceService.java b/src/main/java/com/banesco/module/correspondence/application/service/CorrespondenceService.java
index 9b01491..6e0eab6 100644
--- a/src/main/java/com/banesco/module/correspondence/application/service/CorrespondenceService.java
+++ b/src/main/java/com/banesco/module/correspondence/application/service/CorrespondenceService.java
@@ -45,7 +45,7 @@ public class CorrespondenceService implements CorrespondenceUseCase {
);
} catch (ApiPrivateException e) {
log.warn("Excepcion de la api privada: {} -> {}", e.getStatusCode(), e.getMessage());
- response = messageHelper.handleException(HttpStatusCodeException.badRequest("400"));
+ response = messageHelper.handleException(HttpStatusCodeException.conflict(e.getStatusCode()));
} catch (HttpStatusCodeException e) {
log.error("Excepcion HTTP del api privada: {} - {}", e.getStatusCode(), e.getErrorCode());
response = messageHelper.handleException(e);
diff --git a/src/main/java/com/banesco/module/correspondence/infrastructure/adapter/ApiPrivateAdapter.java b/src/main/java/com/banesco/module/correspondence/infrastructure/adapter/ApiPrivateAdapter.java
index ff2a093..c096254 100644
--- a/src/main/java/com/banesco/module/correspondence/infrastructure/adapter/ApiPrivateAdapter.java
+++ b/src/main/java/com/banesco/module/correspondence/infrastructure/adapter/ApiPrivateAdapter.java
@@ -30,11 +30,12 @@ public class ApiPrivateAdapter implements ApiPrivateRepository {
CorrespondenceRequest request
) {
List response = securityNotificationUseCase.execute(
- CorrespondenceMapper.toPaymentRequest(request), SecurityNotification.class
+ CorrespondenceMapper.toPaymentRequest(request),
+ SecurityNotification.class
);
if(response.isEmpty()) {
- throw HttpStatusCodeException.badRequest("400");
+ throw HttpStatusCodeException.conflict("PIBE-00");
}
log.info("Resultado de las transacciones obtenidas {}", response.size());
diff --git a/src/main/java/com/banesco/module/correspondence/infrastructure/mapper/CorrespondenceMapper.java b/src/main/java/com/banesco/module/correspondence/infrastructure/mapper/CorrespondenceMapper.java
index af3f999..02c010a 100644
--- a/src/main/java/com/banesco/module/correspondence/infrastructure/mapper/CorrespondenceMapper.java
+++ b/src/main/java/com/banesco/module/correspondence/infrastructure/mapper/CorrespondenceMapper.java
@@ -12,6 +12,7 @@ import com.banesco.module.party.domain.model.PartyIdentification;
import com.banesco.module.security_notification.domain.dto.request.SecurityNotificationRequest;
import com.banesco.module.security_notification.domain.model.SecurityNotification;
import com.banesco.module.transaction.domain.model.*;
+import io.netty.util.internal.StringUtil;
import java.util.List;
@@ -114,7 +115,10 @@ public class CorrespondenceMapper {
.build(),
TransactionDateTime.builder()
.dateType(TransactionDateTimeType.EXPIRY_TIME)
- .time(Long.valueOf(response.getTimeExpired()))
+ .time((!StringUtil.isNullOrEmpty(response.getTimeExpired()))
+ ? Long.valueOf(response.getTimeExpired())
+ : null
+ )
.build()
);
}
diff --git a/src/main/java/com/banesco/module/correspondence/infrastructure/resource/CorrespondenceResource.java b/src/main/java/com/banesco/module/correspondence/infrastructure/resource/CorrespondenceResource.java
index 6307b11..636b89b 100644
--- a/src/main/java/com/banesco/module/correspondence/infrastructure/resource/CorrespondenceResource.java
+++ b/src/main/java/com/banesco/module/correspondence/infrastructure/resource/CorrespondenceResource.java
@@ -289,7 +289,7 @@ public class CorrespondenceResource {
String channelCode,
@QueryParam("customerReferenceFintechId")
- @Parameter(description = "ID de la fintech", example = "pranical-test")
+ @Parameter(description = "ID de la fintech", example = "provider-test")
String customerReferenceFintechId,
@QueryParam("appId")
diff --git a/src/main/java/com/banesco/module/security_notification/infrastructure/client/SecurityNotificationClient.java b/src/main/java/com/banesco/module/security_notification/infrastructure/client/SecurityNotificationClient.java
index d77a902..2955001 100644
--- a/src/main/java/com/banesco/module/security_notification/infrastructure/client/SecurityNotificationClient.java
+++ b/src/main/java/com/banesco/module/security_notification/infrastructure/client/SecurityNotificationClient.java
@@ -22,6 +22,8 @@ public class SecurityNotificationClient implements SecurityNotificationUseCase {
private final HttpClientUseCase httpClientUseCase;
private final SecurityNotificationConfig securityNotificationConfig;
+ private static final String EMPTY_MESSAGE = "EMPTY_MESSAGE";
+
@Inject
public SecurityNotificationClient(
SerializationHelper serializationHelper,
@@ -67,12 +69,19 @@ public class SecurityNotificationClient implements SecurityNotificationUseCase {
);
throw ApiPrivateException.builder()
- .statusCode(response.getEstatus())
- .message("EMPTY_MESSAGE")
+ .statusCode("PIBE-00")
+ .message(EMPTY_MESSAGE)
.build();
}
if (detail.isLeft()) {
+ if(detail.getLeft() == null) {
+ throw ApiPrivateException.builder()
+ .statusCode("PIBE-00")
+ .message(EMPTY_MESSAGE)
+ .build();
+ }
+
return detail.getLeft();
}
@@ -87,10 +96,10 @@ public class SecurityNotificationClient implements SecurityNotificationUseCase {
);
throw ApiPrivateException.builder()
- .statusCode(response.getEstatus())
+ .statusCode("PIBE-01")
.message((error.getCodError() != null)
? error.getCodError() + ":" + error.getMensajeError()
- : "EMPTY_MESSAGE"
+ : EMPTY_MESSAGE
)
.build();
} catch (ApiPrivateException e) {
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index e4687b9..500000c 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -13,6 +13,6 @@ api:
dom-retrieve-security-notification:
messages:
key: 'dom-retrieve-security-notification'
- content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validacion no encontrado."},{"backendCode":"503","httpCode":503,"statusCode":"503","description":"Uso interno"},{"backendCode":"422","httpCode":422,"statusCode":"422","description":"Uso interno"},{"backendCode":"500","httpCode":500,"statusCode":"500","description":"Uso interno"},{"backendCode":"100","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-382505","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-380002","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"ERROR","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"400","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"401","httpCode":401,"statusCode":"401","description":"Uso interno"},{"backendCode":"403","httpCode":403,"statusCode":"403","description":"Uso interno"},{"backendCode":"404","httpCode":404,"statusCode":"404","description":"Uso interno"},{"backendCode":"default","httpCode":409,"statusCode":"409","description":"Conflicto"},{"backendCode":"424","httpCode":424,"statusCode":"424","description":"Error de dependencia"},{"backendCode":"VDE01","httpCode":400,"statusCode":"VDE01","description":"VDE01 - Error en dato de entrada obligatorio: %s"},{"backendCode":"VDE02","httpCode":400,"statusCode":"VDE02","description":"VDE02 - Error en valor permitido para campo: %s"},{"backendCode":"VRN02","httpCode":"204","statusCode":"VRN02","description":"Cliente sin productos"}]'
+ content: '[{"backendCode":"200","httpCode":200,"statusCode":"200","description":"Operacion exitosa"},{"backendCode":"R404","httpCode":404,"statusCode":"404","description":"Datos de validacion no encontrado."},{"backendCode":"503","httpCode":503,"statusCode":"503","description":"Uso interno"},{"backendCode":"422","httpCode":422,"statusCode":"422","description":"Uso interno"},{"backendCode":"500","httpCode":500,"statusCode":"500","description":"Uso interno"},{"backendCode":"100","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-382505","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"OSB-380002","httpCode":503,"statusCode":"503","description":"VDR13 - OSB Disponible"},{"backendCode":"ERROR","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"400","httpCode":400,"statusCode":"400","description":"Uso interno"},{"backendCode":"401","httpCode":401,"statusCode":"401","description":"Uso interno"},{"backendCode":"403","httpCode":403,"statusCode":"403","description":"Uso interno"},{"backendCode":"404","httpCode":404,"statusCode":"404","description":"Uso interno"},{"backendCode":"default","httpCode":409,"statusCode":"409","description":"Conflicto"},{"backendCode":"424","httpCode":424,"statusCode":"424","description":"Error de dependencia"},{"backendCode":"PIBE-00","httpCode":409,"statusCode":"PIB-00","description":"Error Interno backend"},{"backendCode":"PIBE-01","httpCode":409,"statusCode":"PIB-01","description":"Error Interno backend"}]'
rest-client:
payment-status-by-id: '{"url":"http://10.135.193.156:8080/AlertSecurity/notificationInteractive/v1/querys/getAlertById/{signatureIdentifier}","timeout":{"connect":10000,"response":10000},"statusSuccess":"00"}'
\ No newline at end of file