Skip to content

Commit

Permalink
Fix error callback for bulk transfers REJECTED scenario (#768)
Browse files Browse the repository at this point in the history
  • Loading branch information
oderayi authored Jul 30, 2020
1 parent 6080563 commit f05e968
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mojaloop/central-ledger",
"version": "11.0.0",
"version": "11.0.1",
"description": "Central ledger hosted by a scheme to record and settle transfers",
"license": "Apache-2.0",
"author": "ModusBox",
Expand Down
15 changes: 13 additions & 2 deletions src/handlers/bulk/get/handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ const BulkTransferService = require('../../../domain/bulkTransfer')
const BulkTransferModel = require('../../../models/bulkTransfer/bulkTransfer')
const Validator = require('../shared/validator')
const Config = require('../../../lib/config')
const { ERROR_HANDLING } = require('../../../lib/config')

const location = { module: 'BulkGetHandler', method: '', path: '' }
const consumerCommit = true
Expand Down Expand Up @@ -116,7 +117,13 @@ const getBulkTransfer = async (error, messages) => {
let payload = {
bulkTransferState: bulkTransfer.bulkTransferState
}
if (bulkTransfer.bulkTransferState !== Enum.Transfers.BulkTransferState.PROCESSING) {
let fspiopError
if (bulkTransfer.bulkTransferState === Enum.Transfers.BulkTransferState.REJECTED) {
payload = {
errorInformation: bulkTransfer.individualTransferResults[0].errorInformation
}
fspiopError = ErrorHandler.Factory.createFSPIOPErrorFromErrorInformation(payload.errorInformation)
} else if (bulkTransfer.bulkTransferState !== Enum.Transfers.BulkTransferState.PROCESSING) {
payload = {
...payload,
completedTimestamp: bulkTransfer.completedTimestamp,
Expand All @@ -125,7 +132,11 @@ const getBulkTransfer = async (error, messages) => {
}
}
message.value.content.payload = payload
await Kafka.proceed(Config.KAFKA_CONFIG, params, { consumerCommit, eventDetail, fromSwitch })
if (fspiopError) {
await Kafka.proceed(Config.KAFKA_CONFIG, params, { consumerCommit, fspiopError: fspiopError.toApiErrorObject(ERROR_HANDLING), eventDetail, fromSwitch })
} else {
await Kafka.proceed(Config.KAFKA_CONFIG, params, { consumerCommit, eventDetail, fromSwitch })
}
histTimerEnd({ success: true, fspId: Config.INSTRUMENTATION_METRICS_LABELS.fspId })
return true
} catch (err) {
Expand Down

0 comments on commit f05e968

Please sign in to comment.