Krishna Mewara created FINERACT-2632:
----------------------------------------

             Summary: Add missing fields to Clients Swagger spec for type-safe 
Feign client generation
                 Key: FINERACT-2632
                 URL: https://issues.apache.org/jira/browse/FINERACT-2632
             Project: Apache Fineract
          Issue Type: Improvement
            Reporter: Krishna Mewara


the Clients API Swagger spec in {{ClientsApiResourceSwagger.java}} is missing 
several fields that the server accepts and returns. This causes the generated 
Feign/Retrofit client models to lack these fields, forcing test code to fall 
back to raw JSON construction via RestAssured instead of using type-safe 
request objects.

Same class of issue fixed for Savings in FINERACT-2626.

*Missing fields*

{{PostClientsRequest}} 
 * {{submittedOnDate}} - the submission date used when creating a pending 
client ({{{}active=false{}}}). Currently tests must repurpose 
{{activationDate}} as a workaround.

{{PostClientsClientIdRequest}} 
 * {{withdrawalDate}} - required by the {{withdraw}} command
 * {{withdrawalReasonId}} - required by the {{withdraw}} command
 * {{reopenedDate}} - required by the {{undoRejection}} and {{undoWithdrawal}} 
commands

{{PutClientsClientIdRequest}}
 * {{firstname}} - the server accepts this field for client name updates
 * {{lastname}} - the server accepts this field for client name updates

*Reference: how the server actually handles these fields*

The legacy {{ClientHelper.java}} integration test helper already uses all of 
these fields via raw JSON ({{{}getWithdrawClientAsJSON{}}}, 
{{{}getUndoRejectClientAsJSON{}}}, etc.), and the static Retrofit-style methods 
on {{ClientHelper}} (lines 155–182) accept them as typed request parameters. 
The server-side command handlers ({{{}ClientsApiResource{}}}, 
{{{}ClientWritePlatformServiceJpaRepositoryImpl{}}}) process them correctly 
only the Swagger spec is incomplete.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to