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

commit 1d12c13c8ecd21353a5ffa956c61627a31999ded
Author: Adam Saghy <[email protected]>
AuthorDate: Wed Jan 21 11:45:35 2026 +0100

    FINERACT-2418: add origination-api-skeleton
---
 .../api/LoanOriginatorApiResource.java             | 55 ++++++++--------------
 1 file changed, 19 insertions(+), 36 deletions(-)

diff --git 
a/fineract-loan-origination/src/main/java/org/apache/fineract/portfolio/loanorigination/api/LoanOriginatorApiResource.java
 
b/fineract-loan-origination/src/main/java/org/apache/fineract/portfolio/loanorigination/api/LoanOriginatorApiResource.java
index 4122eef6ef..9053c4a1fe 100644
--- 
a/fineract-loan-origination/src/main/java/org/apache/fineract/portfolio/loanorigination/api/LoanOriginatorApiResource.java
+++ 
b/fineract-loan-origination/src/main/java/org/apache/fineract/portfolio/loanorigination/api/LoanOriginatorApiResource.java
@@ -30,18 +30,13 @@ import jakarta.ws.rs.PUT;
 import jakarta.ws.rs.Path;
 import jakarta.ws.rs.PathParam;
 import jakarta.ws.rs.Produces;
-import jakarta.ws.rs.core.Context;
 import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.UriInfo;
 import java.util.List;
 import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.domain.CommandWrapper;
 import org.apache.fineract.commands.service.CommandWrapperBuilder;
 import 
org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformService;
-import org.apache.fineract.infrastructure.core.api.ApiRequestParameterHelper;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
-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.loanorigination.data.LoanOriginatorData;
 import 
org.apache.fineract.portfolio.loanorigination.service.LoanOriginatorReadPlatformService;
@@ -57,8 +52,6 @@ public class LoanOriginatorApiResource {
 
     private final PlatformSecurityContext context;
     private final LoanOriginatorReadPlatformService 
loanOriginatorReadPlatformService;
-    private final DefaultToApiJsonSerializer<LoanOriginatorData> 
toApiJsonSerializer;
-    private final ApiRequestParameterHelper apiRequestParameterHelper;
     private final PortfolioCommandSourceWritePlatformService 
commandsSourceWritePlatformService;
 
     @POST
@@ -68,10 +61,9 @@ public class LoanOriginatorApiResource {
     @ApiResponse(responseCode = "200", description = "OK")
     @ApiResponse(responseCode = "400", description = "Required parameter is 
missing or incorrect format")
     @ApiResponse(responseCode = "403", description = "Duplicate external ID or 
insufficient permissions")
-    public String create(@Parameter(hidden = true) final String 
apiRequestBodyAsJson) {
+    public CommandProcessingResult create(@Parameter(hidden = true) final 
String apiRequestBodyAsJson) {
         final CommandWrapper commandRequest = new 
CommandWrapperBuilder().createLoanOriginator().withJson(apiRequestBodyAsJson).build();
-        final CommandProcessingResult result = 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
-        return this.toApiJsonSerializer.serialize(result);
+        return 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
     }
 
     @GET
@@ -80,12 +72,10 @@ public class LoanOriginatorApiResource {
     @Operation(summary = "List all loan originators", description = "Retrieves 
all loan originator records. Requires READ_LOAN_ORIGINATOR permission.")
     @ApiResponse(responseCode = "200", description = "OK")
     @ApiResponse(responseCode = "403", description = "Insufficient 
permissions")
-    public String retrieveAll(@Context final UriInfo uriInfo) {
+    public List<LoanOriginatorData> retrieveAll() {
         
this.context.authenticatedUser().validateHasReadPermission(LoanOriginatorApiConstants.RESOURCE_NAME);
 
-        final List<LoanOriginatorData> originators = 
this.loanOriginatorReadPlatformService.retrieveAll();
-        final ApiRequestJsonSerializationSettings settings = 
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
-        return this.toApiJsonSerializer.serialize(settings, originators, 
LoanOriginatorApiConstants.RESPONSE_PARAMS);
+        return this.loanOriginatorReadPlatformService.retrieveAll();
     }
 
     @GET
@@ -96,13 +86,10 @@ public class LoanOriginatorApiResource {
     @ApiResponse(responseCode = "200", description = "OK")
     @ApiResponse(responseCode = "403", description = "Insufficient 
permissions")
     @ApiResponse(responseCode = "404", description = "Originator not found")
-    public String retrieveOne(@PathParam("originatorId") 
@Parameter(description = "originatorId") final Long originatorId,
-            @Context final UriInfo uriInfo) {
+    public LoanOriginatorData retrieveOne(@PathParam("originatorId") 
@Parameter(description = "originatorId") final Long originatorId) {
         
this.context.authenticatedUser().validateHasReadPermission(LoanOriginatorApiConstants.RESOURCE_NAME);
 
-        final LoanOriginatorData originator = 
this.loanOriginatorReadPlatformService.retrieveById(originatorId);
-        final ApiRequestJsonSerializationSettings settings = 
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
-        return this.toApiJsonSerializer.serialize(settings, originator, 
LoanOriginatorApiConstants.RESPONSE_PARAMS);
+        return 
this.loanOriginatorReadPlatformService.retrieveById(originatorId);
     }
 
     @GET
@@ -113,13 +100,11 @@ public class LoanOriginatorApiResource {
     @ApiResponse(responseCode = "200", description = "OK")
     @ApiResponse(responseCode = "403", description = "Insufficient 
permissions")
     @ApiResponse(responseCode = "404", description = "Originator not found")
-    public String retrieveByExternalId(@PathParam("externalId") 
@Parameter(description = "externalId") final String externalId,
-            @Context final UriInfo uriInfo) {
+    public LoanOriginatorData retrieveByExternalId(
+            @PathParam("externalId") @Parameter(description = "externalId") 
final String externalId) {
         
this.context.authenticatedUser().validateHasReadPermission(LoanOriginatorApiConstants.RESOURCE_NAME);
 
-        final LoanOriginatorData originator = 
this.loanOriginatorReadPlatformService.retrieveByExternalId(externalId);
-        final ApiRequestJsonSerializationSettings settings = 
this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
-        return this.toApiJsonSerializer.serialize(settings, originator, 
LoanOriginatorApiConstants.RESPONSE_PARAMS);
+        return 
this.loanOriginatorReadPlatformService.retrieveByExternalId(externalId);
     }
 
     @PUT
@@ -131,12 +116,11 @@ public class LoanOriginatorApiResource {
     @ApiResponse(responseCode = "400", description = "Incorrect format")
     @ApiResponse(responseCode = "403", description = "Insufficient 
permissions")
     @ApiResponse(responseCode = "404", description = "Originator not found")
-    public String update(@PathParam("originatorId") @Parameter(description = 
"originatorId") final Long originatorId,
+    public CommandProcessingResult update(@PathParam("originatorId") 
@Parameter(description = "originatorId") final Long originatorId,
             @Parameter(hidden = true) final String apiRequestBodyAsJson) {
         final CommandWrapper commandRequest = new 
CommandWrapperBuilder().updateLoanOriginator(originatorId).withJson(apiRequestBodyAsJson)
                 .build();
-        final CommandProcessingResult result = 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
-        return this.toApiJsonSerializer.serialize(result);
+        return 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
     }
 
     @PUT
@@ -148,14 +132,14 @@ public class LoanOriginatorApiResource {
     @ApiResponse(responseCode = "400", description = "Incorrect format")
     @ApiResponse(responseCode = "403", description = "Insufficient 
permissions")
     @ApiResponse(responseCode = "404", description = "Originator not found")
-    public String updateByExternalId(@PathParam("externalId") 
@Parameter(description = "externalId") final String externalId,
+    public CommandProcessingResult updateByExternalId(
+            @PathParam("externalId") @Parameter(description = "externalId") 
final String externalId,
             @Parameter(hidden = true) final String apiRequestBodyAsJson) {
         final Long originatorId = 
this.loanOriginatorReadPlatformService.resolveIdByExternalId(externalId);
 
         final CommandWrapper commandRequest = new 
CommandWrapperBuilder().updateLoanOriginator(originatorId).withJson(apiRequestBodyAsJson)
                 .build();
-        final CommandProcessingResult result = 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
-        return this.toApiJsonSerializer.serialize(result);
+        return 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
     }
 
     @DELETE
@@ -166,10 +150,9 @@ public class LoanOriginatorApiResource {
     @ApiResponse(responseCode = "200", description = "OK")
     @ApiResponse(responseCode = "403", description = "Originator is mapped to 
loans and cannot be deleted, or insufficient permissions")
     @ApiResponse(responseCode = "404", description = "Originator not found")
-    public String delete(@PathParam("originatorId") @Parameter(description = 
"originatorId") final Long originatorId) {
+    public CommandProcessingResult delete(@PathParam("originatorId") 
@Parameter(description = "originatorId") final Long originatorId) {
         final CommandWrapper commandRequest = new 
CommandWrapperBuilder().deleteLoanOriginator(originatorId).build();
-        final CommandProcessingResult result = 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
-        return this.toApiJsonSerializer.serialize(result);
+        return 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
     }
 
     @DELETE
@@ -180,11 +163,11 @@ public class LoanOriginatorApiResource {
     @ApiResponse(responseCode = "200", description = "OK")
     @ApiResponse(responseCode = "403", description = "Originator is mapped to 
loans and cannot be deleted, or insufficient permissions")
     @ApiResponse(responseCode = "404", description = "Originator not found")
-    public String deleteByExternalId(@PathParam("externalId") 
@Parameter(description = "externalId") final String externalId) {
+    public CommandProcessingResult deleteByExternalId(
+            @PathParam("externalId") @Parameter(description = "externalId") 
final String externalId) {
         final Long originatorId = 
this.loanOriginatorReadPlatformService.resolveIdByExternalId(externalId);
 
         final CommandWrapper commandRequest = new 
CommandWrapperBuilder().deleteLoanOriginator(originatorId).build();
-        final CommandProcessingResult result = 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
-        return this.toApiJsonSerializer.serialize(result);
+        return 
this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
     }
 }

Reply via email to