Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bulk Transfers: Implement bulk-fulfil handler #746

Closed
35 of 45 tasks
elnyry-sam-k opened this issue Apr 30, 2019 · 0 comments
Closed
35 of 45 tasks

Bulk Transfers: Implement bulk-fulfil handler #746

elnyry-sam-k opened this issue Apr 30, 2019 · 0 comments
Assignees
Labels

Comments

@elnyry-sam-k
Copy link
Member

elnyry-sam-k commented Apr 30, 2019

Goal:

As a Hub Operator
I want to implement the /bulkTransfers end-point
so that I can support the bulk Transfers use-case (based on the API Definition).

This specific story is for implementing the newly proposed bulk-fulfil handler

Tasks:

  • Implement bulk-fulfil handler
    • move ml-api Object Store code to common library to be accessed by bulk-api, ml-api and cl-api [@ggrg, @mdebarros]
    • import/implement the library into central-ledger [@ggrg] 5548cab, 2455a0a, 4269d48
    • bulk-fulfil handler [@ggrg]
      • prepare postman PUT requests for complete and erroneous bulk [@ggrg]
      • add bulk-api related code [@ggrg]
        • define BulkTransfersIDPutResponse in swagger.yaml [@ggrg]
        • implement BulkTransfersByIDPut operation [@ggrg] 940eb56, 5f79bf1, 176d653
          • add kafka producer config
          • store to MLOS and produce to kafka
      • implement BulkFulfilHandler code [@ggrg]
        • init BulkFulfilHandler using BulkPrepareHandler implementation
        • Update Enums if needed
        • Duplicate analysis
          • Handle Resend (GET callback / ignore)
          • Handle Modified Request (callback notification to payerFsp)
          • Handle invalid fulfilment to abort individual transfers
          • Allow only first request from payeee per bulkTransfer UUID
        • Bulk transfer validations
          • validateFspiopSourceMatchesPayee
          • validateFspiopDestinationMatchesPayer ?
        • Handle validation errors
          • Store invalid bulk transfer fulfil request to database
          • Produce callback notification to payeeFsp
          • Abort individual transfers or entire bulk
        • Store PROCESSING bulk to database
        • Transform and stream individual transfer results to topic-transfer-fulfil
      • Configure topic-bulk-fulfil consumer
      • Utilize the bulkTransfer message hash, generated and passed by ml-api-adapter
      • Verify golden path for BulkFulfilHandler and all db writes
      • Sequence diagrams and markdown files updated if issues identified during implementation
        • Add notes for differencies not applied to SDs
      • Unit tests corrections
      • JSDoc notes

6a54300, 21e8518

Acceptance Criteria:

  • bulk-fulfil handler is implemented and has automated tests

Pull Requests:

Follow-up:

  • TBD

Dependencies:

Accountability:

  • Owner:
  • QA/Review: DA
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants