edk12564 opened a new pull request, #98:
URL: https://github.com/apache/fineract-consumer-facing/pull/98

   Issues: https://github.com/apache/fineract-consumer-facing/issues/59
   
   # Summary
   
   Idempotency is an important part of Fineract's existing architecture to 
prevent duplicate requests from materializing. We need to create and pass 
though Idempotency keys on the frontend to take advantage of Fineract's 
existing implementation. 
   
   To accomplish this, a centralized idempotency module was added to 
infrastructure. Key attachment was handled using an interceptor in 
FineractClient. Keys were generated in the frontend and passed along. 
   
   In addition, general improvements were made to infrastructure's file 
structure. We also fixed a bug where Fineract could not accept null fields in 
tests, throwing the wrong errors. 
   
   Finally, the endpoints particularly at risk are the write endpoints of 
Fineract. However, idempotency is an issue in our BFF database as well. In the 
future, we should build some kind of idempotency into the BFF as well, but only 
if the project ends up handling more scope and responsibility. 
   
   ## More details
   
   - created centralized idempotency module in infrastructure
   - updated FineractClient to match
   - added Fineract Client idempotency interceptor to attach idempotency header
   - implemented idempotency key generation on the frontend
   - fixed issue in tests where Fineract cannot accept null fields
   - refactored infrastructure for better organization
   - added unit and e2e tests


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to