This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 60bc3acaf1 FINERACT-2169: Apply dto into GuarantorsApiResource
60bc3acaf1 is described below
commit 60bc3acaf1422ca6240212d261306e5d6f22e2ad
Author: oleksandr.masliuk <[email protected]>
AuthorDate: Mon Apr 7 19:26:22 2025 +0300
FINERACT-2169: Apply dto into GuarantorsApiResource
---
.../loanaccount/data/LoanChargePaidByData.java | 7 ++-
.../data/LoanRepaymentScheduleInstallmentData.java | 7 ++-
.../loanaccount/data/LoanTransactionData.java | 7 ++-
.../loanaccount/data/LoanTransactionEnumData.java | 7 ++-
.../guarantor/api/GuarantorsApiResource.java | 70 +++++++---------------
.../loanaccount/guarantor/data/GuarantorData.java | 7 ++-
.../guarantor/data/GuarantorFundingData.java | 9 ++-
.../guarantor/data/GuarantorTransactionData.java | 9 ++-
.../guarantor/data/GuarantorsRequest.java | 62 +++++++++++++++++++
.../self/loanaccount/api/SelfLoansApiResource.java | 6 +-
.../data/DepositAccountOnHoldTransactionData.java | 9 ++-
11 files changed, 140 insertions(+), 60 deletions(-)
diff --git
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanChargePaidByData.java
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanChargePaidByData.java
index 7e13697b2e..20b06f28b9 100644
---
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanChargePaidByData.java
+++
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanChargePaidByData.java
@@ -18,6 +18,8 @@
*/
package org.apache.fineract.portfolio.loanaccount.data;
+import java.io.Serial;
+import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
import lombok.Getter;
@@ -25,7 +27,10 @@ import org.springframework.integration.annotation.Default;
@Data
@Getter
-public class LoanChargePaidByData {
+public class LoanChargePaidByData implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
private Long id;
private BigDecimal amount;
diff --git
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanRepaymentScheduleInstallmentData.java
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanRepaymentScheduleInstallmentData.java
index fe29cd70c6..ad06d82e85 100644
---
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanRepaymentScheduleInstallmentData.java
+++
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanRepaymentScheduleInstallmentData.java
@@ -18,6 +18,8 @@
*/
package org.apache.fineract.portfolio.loanaccount.data;
+import java.io.Serial;
+import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import lombok.AllArgsConstructor;
@@ -25,7 +27,10 @@ import lombok.Getter;
@AllArgsConstructor
@Getter
-public final class LoanRepaymentScheduleInstallmentData {
+public final class LoanRepaymentScheduleInstallmentData implements
Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
private Long id;
diff --git
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
index 8c61f9e83c..8ca3d78089 100644
---
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
+++
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionData.java
@@ -18,6 +18,8 @@
*/
package org.apache.fineract.portfolio.loanaccount.data;
+import java.io.Serial;
+import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Collection;
@@ -35,7 +37,10 @@ import org.springframework.integration.annotation.Default;
* Immutable data object representing a loan transaction.
*/
@Getter
-public class LoanTransactionData {
+public class LoanTransactionData implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
private final Long id;
private final Long loanId;
diff --git
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionEnumData.java
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionEnumData.java
index 82b95d667a..ddfa5538a2 100644
---
a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionEnumData.java
+++
b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/data/LoanTransactionEnumData.java
@@ -18,6 +18,8 @@
*/
package org.apache.fineract.portfolio.loanaccount.data;
+import java.io.Serial;
+import java.io.Serializable;
import lombok.Getter;
import org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType;
@@ -25,7 +27,10 @@ import
org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType;
* Immutable data object represent loan status enumerations.
*/
@Getter
-public class LoanTransactionEnumData {
+public class LoanTransactionEnumData implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
private final Long id;
private final String code;
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/api/GuarantorsApiResource.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/api/GuarantorsApiResource.java
index 6843d67917..0145cc6c13 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/api/GuarantorsApiResource.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/api/GuarantorsApiResource.java
@@ -36,11 +36,8 @@ import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.UriInfo;
import java.io.InputStream;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import lombok.RequiredArgsConstructor;
import org.apache.fineract.commands.domain.CommandWrapper;
import org.apache.fineract.commands.service.CommandWrapperBuilder;
@@ -57,14 +54,13 @@ import
org.apache.fineract.infrastructure.core.data.UploadRequest;
import
org.apache.fineract.infrastructure.core.serialization.ApiRequestJsonSerializationSettings;
import
org.apache.fineract.infrastructure.core.serialization.DefaultToApiJsonSerializer;
import
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
-import org.apache.fineract.portfolio.account.AccountDetailConstants;
import org.apache.fineract.portfolio.account.PortfolioAccountType;
-import org.apache.fineract.portfolio.account.api.AccountTransfersApiConstants;
import org.apache.fineract.portfolio.account.data.PortfolioAccountDTO;
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
import
org.apache.fineract.portfolio.account.service.PortfolioAccountReadPlatformService;
import org.apache.fineract.portfolio.loanaccount.guarantor.GuarantorConstants;
import org.apache.fineract.portfolio.loanaccount.guarantor.data.GuarantorData;
+import
org.apache.fineract.portfolio.loanaccount.guarantor.data.GuarantorsRequest;
import
org.apache.fineract.portfolio.loanaccount.guarantor.domain.GuarantorType;
import
org.apache.fineract.portfolio.loanaccount.guarantor.service.GuarantorEnumerations;
import
org.apache.fineract.portfolio.loanaccount.guarantor.service.GuarantorReadPlatformService;
@@ -79,15 +75,6 @@ import org.springframework.stereotype.Component;
@RequiredArgsConstructor
public class GuarantorsApiResource {
- private static final Set<String> RESPONSE_DATA_PARAMETERS = new HashSet<>(
- Arrays.asList("id", "loanId", "clientRelationshipType",
"guarantorType", "firstname", "lastname", "entityId", "externalId",
- "officeName", "joinedDate", "addressLine1",
"addressLine2", "city", "state", "zip", "country", "mobileNumber",
- "housePhoneNumber", "comment", "dob",
"guarantorTypeOptions", "allowedClientRelationshipTypes"));
-
- private static final Set<String>
ACCOUNT_TRANSFER_API_RESPONSE_DATA_PARAMETERS = new HashSet<>(
- Arrays.asList(AccountDetailConstants.idParamName,
AccountTransfersApiConstants.transferDescriptionParamName,
- AccountTransfersApiConstants.currencyParamName));
-
private static final String RESOURCE_NAME_FOR_PERMISSION = "GUARANTOR";
private final GuarantorReadPlatformService guarantorReadPlatformService;
@@ -105,38 +92,30 @@ public class GuarantorsApiResource {
@Path("template")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String newGuarantorTemplate(@Context final UriInfo uriInfo,
@PathParam("loanId") final Long loanId) {
+ public GuarantorData newGuarantorTemplate(@PathParam("loanId") final Long
loanId) {
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSION);
final List<EnumOptionData> guarantorTypeOptions =
GuarantorEnumerations.guarantorType(GuarantorType.values());
final Collection<CodeValueData> allowedClientRelationshipTypes =
this.codeValueReadPlatformService
.retrieveCodeValuesByCode(GuarantorConstants.GUARANTOR_RELATIONSHIP_CODE_NAME);
final Collection<PortfolioAccountData> accountLinkingOptions = null;
- final GuarantorData guarantorData =
GuarantorData.template(guarantorTypeOptions, allowedClientRelationshipTypes,
- accountLinkingOptions);
-
- final ApiRequestJsonSerializationSettings settings =
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
- return this.apiJsonSerializerService.serialize(settings,
guarantorData, RESPONSE_DATA_PARAMETERS);
+ return GuarantorData.template(guarantorTypeOptions,
allowedClientRelationshipTypes, accountLinkingOptions);
}
@GET
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String retrieveGuarantorDetails(@Context final UriInfo uriInfo,
@PathParam("loanId") final Long loanId) {
+ public List<GuarantorData> retrieveGuarantorDetails(@PathParam("loanId")
final Long loanId) {
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSION);
- final List<GuarantorData> guarantorDatas =
this.guarantorReadPlatformService.retrieveGuarantorsForValidLoan(loanId);
-
- final ApiRequestJsonSerializationSettings settings =
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
-
- return this.apiJsonSerializerService.serialize(settings,
guarantorDatas, RESPONSE_DATA_PARAMETERS);
+ return
this.guarantorReadPlatformService.retrieveGuarantorsForValidLoan(loanId);
}
@GET
@Path("{guarantorId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String retrieveGuarantorDetails(@Context final UriInfo uriInfo,
@PathParam("loanId") final Long loanId,
+ public GuarantorData retrieveGuarantorDetails(@Context final UriInfo
uriInfo, @PathParam("loanId") final Long loanId,
@PathParam("guarantorId") final Long guarantorId) {
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSION);
@@ -151,55 +130,48 @@ public class GuarantorsApiResource {
guarantorData = GuarantorData.templateOnTop(guarantorData,
guarantorTypeOptions, allowedClientRelationshipTypes,
accountLinkingOptions);
}
-
- return this.apiJsonSerializerService.serialize(settings,
guarantorData, RESPONSE_DATA_PARAMETERS);
+ return guarantorData;
}
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String createGuarantor(@PathParam("loanId") final Long loanId,
final String apiRequestBodyAsJson) {
-
- final CommandWrapper commandRequest = new
CommandWrapperBuilder().createGuarantor(loanId).withJson(apiRequestBodyAsJson).build();
+ public CommandProcessingResult createGuarantor(@PathParam("loanId") final
Long loanId, final GuarantorsRequest guarantorsRequest) {
- final CommandProcessingResult result =
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
+ final CommandWrapper commandRequest = new
CommandWrapperBuilder().createGuarantor(loanId)
+
.withJson(apiJsonSerializerService.serialize(guarantorsRequest)).build();
- return this.apiJsonSerializerService.serialize(result);
+ return
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
}
@PUT
@Path("{guarantorId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String updateGuarantor(@PathParam("loanId") final Long loanId,
@PathParam("guarantorId") final Long guarantorId,
- final String jsonRequestBody) {
- final CommandWrapper commandRequest = new
CommandWrapperBuilder().updateGuarantor(loanId,
guarantorId).withJson(jsonRequestBody)
- .build();
+ public CommandProcessingResult updateGuarantor(@PathParam("loanId") final
Long loanId, @PathParam("guarantorId") final Long guarantorId,
+ final GuarantorsRequest guarantorsRequest) {
+ final CommandWrapper commandRequest = new
CommandWrapperBuilder().updateGuarantor(loanId, guarantorId)
+
.withJson(apiJsonSerializerService.serialize(guarantorsRequest)).build();
- final CommandProcessingResult result =
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
-
- return this.apiJsonSerializerService.serialize(result);
+ return
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
}
@DELETE
@Path("{guarantorId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String deleteGuarantor(@PathParam("loanId") final Long loanId,
@PathParam("guarantorId") final Long guarantorId,
+ public CommandProcessingResult deleteGuarantor(@PathParam("loanId") final
Long loanId, @PathParam("guarantorId") final Long guarantorId,
@QueryParam("guarantorFundingId") final Long guarantorFundingId) {
final CommandWrapper commandRequest = new
CommandWrapperBuilder().deleteGuarantor(loanId, guarantorId,
guarantorFundingId).build();
- final CommandProcessingResult result =
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
-
- return this.apiJsonSerializerService.serialize(result);
+ return
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
}
@GET
@Path("accounts/template")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String accountsTemplate(@QueryParam("clientId") final Long
clientId, @PathParam("loanId") final Long loanId,
- @Context final UriInfo uriInfo) {
+ public GuarantorData accountsTemplate(@QueryParam("clientId") final Long
clientId, @PathParam("loanId") final Long loanId) {
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSION);
@@ -208,9 +180,7 @@ public class GuarantorsApiResource {
if (this.loanReadPlatformService.isGuaranteeRequired(loanId)) {
accountLinkingOptions =
this.portfolioAccountReadPlatformService.retrieveAllForLookup(portfolioAccountDTO);
}
- final GuarantorData guarantorData = GuarantorData.template(null, null,
accountLinkingOptions);
- final ApiRequestJsonSerializationSettings settings =
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
- return this.apiJsonSerializerService.serialize(settings,
guarantorData, ACCOUNT_TRANSFER_API_RESPONSE_DATA_PARAMETERS);
+ return GuarantorData.template(null, null, accountLinkingOptions);
}
@GET
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorData.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorData.java
index f4cf7a987a..ea293c89f4 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorData.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorData.java
@@ -18,6 +18,8 @@
*/
package org.apache.fineract.portfolio.loanaccount.guarantor.data;
+import java.io.Serial;
+import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Collection;
@@ -32,7 +34,10 @@ import
org.apache.fineract.portfolio.loanaccount.guarantor.domain.GuarantorType;
import
org.apache.fineract.portfolio.loanaccount.guarantor.service.GuarantorEnumerations;
@Getter
-public class GuarantorData {
+public class GuarantorData implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
private final Long id;
private final Long loanId;
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java
index 6784007e59..9d5b5cc8fc 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorFundingData.java
@@ -18,12 +18,19 @@
*/
package org.apache.fineract.portfolio.loanaccount.guarantor.data;
+import java.io.Serial;
+import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Collection;
+import lombok.Getter;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
import org.apache.fineract.portfolio.account.data.PortfolioAccountData;
-public final class GuarantorFundingData {
+@Getter
+public final class GuarantorFundingData implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
@SuppressWarnings("unused")
private final Long id;
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java
index f8cd5768a3..5e4ede0bfb 100755
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorTransactionData.java
@@ -18,10 +18,17 @@
*/
package org.apache.fineract.portfolio.loanaccount.guarantor.data;
+import java.io.Serial;
+import java.io.Serializable;
+import lombok.Getter;
import org.apache.fineract.portfolio.loanaccount.data.LoanTransactionData;
import
org.apache.fineract.portfolio.savings.data.DepositAccountOnHoldTransactionData;
-public final class GuarantorTransactionData {
+@Getter
+public final class GuarantorTransactionData implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
@SuppressWarnings("unused")
private final Long id;
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorsRequest.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorsRequest.java
new file mode 100644
index 0000000000..e0498f2202
--- /dev/null
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/guarantor/data/GuarantorsRequest.java
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.fineract.portfolio.loanaccount.guarantor.data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Setter
+@Getter
+@NoArgsConstructor
+public class GuarantorsRequest implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ private String locale;
+ private String dateFormat; // "dd MMMM yyyy"
+
+ /*** Fields for capturing relationship of Guarantor with customer **/
+ private Long clientRelationshipTypeId;
+
+ /*** Fields for current customers serving as guarantors **/
+ private Integer guarantorTypeId;
+ private Long entityId;
+
+ /*** Fields for external persons serving as guarantors ***/
+ private String firstname;
+ private String lastname;
+ private String addressLine1;
+ private String addressLine2;
+ private String city;
+ private String state;
+ private String zip;
+ private String country;
+ private String mobileNumber;
+ private String housePhoneNumber;
+ private String comment;
+ private String dob;
+ private Long savingsId;
+ private BigDecimal amount;
+
+}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/loanaccount/api/SelfLoansApiResource.java
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/loanaccount/api/SelfLoansApiResource.java
index cd0a0b12e6..79b0e5b877 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/loanaccount/api/SelfLoansApiResource.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/self/loanaccount/api/SelfLoansApiResource.java
@@ -40,6 +40,7 @@ import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.UriInfo;
import java.util.HashMap;
+import java.util.List;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import
org.apache.fineract.infrastructure.core.exception.UnrecognizedQueryParamException;
@@ -53,6 +54,7 @@ import
org.apache.fineract.portfolio.loanaccount.exception.LoanNotFoundException
import
org.apache.fineract.portfolio.loanaccount.exception.LoanTemplateTypeRequiredException;
import
org.apache.fineract.portfolio.loanaccount.exception.NotSupportedLoanTemplateTypeException;
import
org.apache.fineract.portfolio.loanaccount.guarantor.api.GuarantorsApiResource;
+import org.apache.fineract.portfolio.loanaccount.guarantor.data.GuarantorData;
import
org.apache.fineract.portfolio.self.client.service.AppuserClientMapperReadService;
import
org.apache.fineract.portfolio.self.loanaccount.data.SelfLoansDataValidator;
import
org.apache.fineract.portfolio.self.loanaccount.service.AppuserLoansMapperReadService;
@@ -273,10 +275,10 @@ public class SelfLoansApiResource {
@Path("{loanId}/guarantors")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
- public String retrieveGuarantorDetails(@PathParam("loanId") final Long
loanId, @Context final UriInfo uriInfo) {
+ public List<GuarantorData> retrieveGuarantorDetails(@PathParam("loanId")
final Long loanId) {
validateAppuserLoanMapping(loanId);
- return this.guarantorsApiResource.retrieveGuarantorDetails(uriInfo,
loanId);
+ return this.guarantorsApiResource.retrieveGuarantorDetails(loanId);
}
}
diff --git
a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java
b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java
index c9fc729725..4a2a902138 100644
---
a/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java
+++
b/fineract-savings/src/main/java/org/apache/fineract/portfolio/savings/data/DepositAccountOnHoldTransactionData.java
@@ -18,11 +18,18 @@
*/
package org.apache.fineract.portfolio.savings.data;
+import java.io.Serial;
+import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
+import lombok.Getter;
import org.apache.fineract.infrastructure.core.data.EnumOptionData;
-public final class DepositAccountOnHoldTransactionData {
+@Getter
+public final class DepositAccountOnHoldTransactionData implements Serializable
{
+
+ @Serial
+ private static final long serialVersionUID = 1L;
@SuppressWarnings("unused")
private final Long id;