diff --git a/data/jobrunr.mv.db b/data/jobrunr.mv.db index fa54cde..fdd1312 100644 Binary files a/data/jobrunr.mv.db and b/data/jobrunr.mv.db differ diff --git a/src/main/java/zw/qantra/tm/domain/controllers/AccountController.java b/src/main/java/zw/qantra/tm/domain/controllers/AccountController.java index e1a3591..dcf1887 100644 --- a/src/main/java/zw/qantra/tm/domain/controllers/AccountController.java +++ b/src/main/java/zw/qantra/tm/domain/controllers/AccountController.java @@ -16,14 +16,13 @@ import java.util.List; public class AccountController { private final VelocityAccountService velocityAccountService; - private static final List SUPPORTED_CURRENCIES = List.of("USD", "ZWG"); @GetMapping("/phone/{currencyPhoneConcat}") @PreAuthorize("hasRole('ACCOUNT_READ')") - public ResponseEntity getAccountByPhone( + public ResponseEntity getAccountByPhone( @PathVariable String currencyPhoneConcat) { try { - VelocityAccountDto account = velocityAccountService.getAccountByPhone(currencyPhoneConcat); + Object account = velocityAccountService.getAccountByPhone(currencyPhoneConcat); return ResponseEntity.ok(account); } catch (Exception e) { return ResponseEntity.badRequest().build(); diff --git a/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityAccountDto.java b/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityAccountDto.java index 3157680..4712749 100644 --- a/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityAccountDto.java +++ b/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityAccountDto.java @@ -1,5 +1,7 @@ package zw.qantra.tm.domain.dtos.erp; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; @@ -14,6 +16,8 @@ import java.sql.Timestamp; @Builder @AllArgsConstructor @NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) public class VelocityAccountDto { private String name; private String description; diff --git a/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityStatementDto.java b/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityStatementDto.java index 63364d7..74f132a 100644 --- a/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityStatementDto.java +++ b/src/main/java/zw/qantra/tm/domain/dtos/erp/VelocityStatementDto.java @@ -1,6 +1,7 @@ package zw.qantra.tm.domain.dtos.erp; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,6 +15,8 @@ import java.util.List; @Builder @AllArgsConstructor @NoArgsConstructor +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) public class VelocityStatementDto { private BigDecimal startBalance; private BigDecimal endBalance; diff --git a/src/main/java/zw/qantra/tm/domain/services/VelocityAccountService.java b/src/main/java/zw/qantra/tm/domain/services/VelocityAccountService.java index 1db6290..26ffd1e 100644 --- a/src/main/java/zw/qantra/tm/domain/services/VelocityAccountService.java +++ b/src/main/java/zw/qantra/tm/domain/services/VelocityAccountService.java @@ -26,7 +26,7 @@ public class VelocityAccountService { * @param currencyPhoneConcat The concatenation of currency and phone (e.g. "USD+263771234567"). * @return VelocityAccountDto with account details. */ - public VelocityAccountDto getAccountByPhone(String currencyPhoneConcat) { + public Object getAccountByPhone(String currencyPhoneConcat) { try { LinkedHashMap responseMap = velocityPaymentService.makeRequest( HttpMethod.GET, @@ -37,7 +37,7 @@ public class VelocityAccountService { log.error("Error fetching account"); throw new IllegalStateException("Error fetching account"); } - return Utils.deepCopy(responseMap, VelocityAccountDto.class); + return responseMap; } catch (Exception e) { log.error("Error fetching account by phone {}: {}", currencyPhoneConcat, e.getMessage(), e); throw new IllegalStateException("Error fetching account: " + e.getMessage(), e); diff --git a/src/main/resources/liquibase-diff-changeLog.xml b/src/main/resources/liquibase-diff-changeLog.xml index c9f61e7..6c626da 100644 --- a/src/main/resources/liquibase-diff-changeLog.xml +++ b/src/main/resources/liquibase-diff-changeLog.xml @@ -1,8 +1,18 @@ - + + + + + + + + + + +