Skip to content

Commit

Permalink
fix: fix logic to prune acceptParty false quote response (#423)
Browse files Browse the repository at this point in the history
* fix: fix logic to prune acceptParty false quote response

* chore(snapshot): 21.3.5-snapshot.0

* chore: peg api snippets

* chore(snapshot): 21.3.5-snapshot.1

* chore: yarn

* chore(snapshot): 21.3.5-snapshot.2
  • Loading branch information
kleyow committed Nov 11, 2022
1 parent 824d45d commit 6360c6c
Show file tree
Hide file tree
Showing 13 changed files with 226 additions and 159 deletions.
2 changes: 2 additions & 0 deletions .ncurc.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
## Add a TODO comment indicating the reason for each rejected dependency upgrade added to this list, and what should be done to resolve it (i.e. handle it through a story, etc).
reject: [
## To be removed when https://github.com/mojaloop/sdk-scheme-adapter/pull/422 is checked in
'@mojaloop/api-snippets'
]
4 changes: 2 additions & 2 deletions modules/api-svc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mojaloop/sdk-scheme-adapter-api-svc",
"version": "20.3.4",
"version": "20.3.5-snapshot.2",
"description": "An adapter for connecting to Mojaloop API enabled switches.",
"main": "src/index.js",
"types": "src/index.d.ts",
Expand Down Expand Up @@ -104,7 +104,7 @@
"jest": "^29.3.1",
"jest-junit": "^14.0.1",
"nock": "^13.2.9",
"npm-check-updates": "^16.3.18",
"npm-check-updates": "^16.3.22",
"openapi-response-validator": "^12.0.2",
"openapi-typescript": "^6.0.3",
"redis-mock": "^0.56.3",
Expand Down
4 changes: 2 additions & 2 deletions modules/outbound-command-event-handler/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mojaloop/sdk-scheme-adapter-outbound-command-event-handler",
"version": "0.2.9",
"version": "0.2.10-snapshot.2",
"description": "mojaloop sdk scheme adapter command event handler",
"license": "Apache-2.0",
"homepage": "https://github.com/mojaloop/sdk-scheme-adapter/",
Expand Down Expand Up @@ -67,7 +67,7 @@
"eslint": "^8.27.0",
"jest": "^29.3.1",
"nodemon": "^2.0.20",
"npm-check-updates": "^16.3.18",
"npm-check-updates": "^16.3.22",
"replace": "^1.2.2",
"standard-version": "^9.5.0",
"ts-jest": "^29.0.3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,15 +178,31 @@ export async function handleProcessBulkQuotesCallbackCmdEvt(
for await (const individualTransferId of allIndividualTransferIds) {
const individualTransfer = await bulkTransactionAgg.getIndividualTransferById(individualTransferId);

individualTransferResults.push({
homeTransactionId: individualTransfer.request.homeTransactionId,
transactionId: individualTransfer.transactionId,
quoteResponse: individualTransfer.quoteResponse,
lastError: individualTransfer.lastError && {
httpStatusCode: individualTransfer.lastError.httpStatusCode,
mojaloopError: individualTransfer.lastError.mojaloopError,
},
});
// Received a response
if(individualTransfer.quoteResponse) {
individualTransferResults.push({
homeTransactionId: individualTransfer.request.homeTransactionId,
transactionId: individualTransfer.transactionId,
quoteResponse: individualTransfer.quoteResponse,
lastError: individualTransfer.lastError && {
httpStatusCode: individualTransfer.lastError.httpStatusCode,
mojaloopError: individualTransfer.lastError.mojaloopError,
},
});
// Received server error
} else if(!individualTransfer.quoteResponse && individualTransfer.lastError) {
individualTransferResults.push({
homeTransactionId: individualTransfer.request.homeTransactionId,
transactionId: individualTransfer.transactionId,
lastError: {
httpStatusCode: individualTransfer.lastError.httpStatusCode,
mojaloopError: individualTransfer.lastError.mojaloopError,
},
});
// Party was not accepted. Prune individual transfer result.
} else if(!individualTransfer.acceptParty) {
continue;
}
}

if(individualTransferResults.length > 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ export async function handleProcessBulkTransfersCallbackCmdEvt(
const individualTransferId = bulkBatch.getReferenceIdForTransferId(transferResult.transferId);
const individualTransfer = await bulkTransactionAgg.getIndividualTransferById(individualTransferId);
individualTransfer.setTransferState(IndividualTransferInternalState.TRANSFERS_FAILED);
individualTransfer.setLastError(transferResult.lastError);
individualTransfer.setTransferResponse(transferResult);
individualTransfer.setTransactionId(bulkBatch.id);
await bulkTransactionAgg.setIndividualTransferById(individualTransfer.id, individualTransfer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ export async function handleProcessSDKOutboundBulkAcceptPartyInfoCmdEvt(
// Update the individual state: DISCOVERY_ACCEPTED / DISCOVERY_REJECTED
const bulkTx = bulkTransactionAgg.getBulkTransaction();

const allIndividualTransfersFromMessage =
const allIndividualTransfersFromMessage =
// eslint-disable-next-line max-len
processSDKOutboundBulkAcceptPartyInfoMessage.getBulkTransactionContinuationAcceptParty().individualTransfers;
for await (const individualTransferFromMessage of allIndividualTransfersFromMessage) {
Expand All @@ -66,6 +66,7 @@ export async function handleProcessSDKOutboundBulkAcceptPartyInfoCmdEvt(
}

individualTransfer.setAcceptParty(individualTransferFromMessage.acceptParty);

if(individualTransferFromMessage.acceptParty) {
individualTransfer.setTransferState(IndividualTransferInternalState.DISCOVERY_ACCEPTED);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export async function handleProcessSDKOutboundBulkAcceptQuoteCmdEvt(
// Update the individual state: AGREEMENT_ACCEPTED / AGREEMENT_REJECTED
const bulkTx = bulkTransactionAgg.getBulkTransaction();

const allIndividualTransfersFromMessage =
const allIndividualTransfersFromMessage =
// eslint-disable-next-line max-len
processSDKOutboundBulkAcceptQuoteCmdEvtMessage.getBulkTransactionContinuationAcceptQuote().individualTransfers;
for await (const individualTransferFromMessage of allIndividualTransfersFromMessage) {
Expand All @@ -66,15 +66,15 @@ export async function handleProcessSDKOutboundBulkAcceptQuoteCmdEvt(
continue;
}

individualTransfer.setAcceptParty(individualTransferFromMessage.acceptQuote);
individualTransfer.setAcceptQuote(individualTransferFromMessage.acceptQuote);

if( // handle accept case
individualTransferFromMessage.acceptQuote &&
individualTransferFromMessage.acceptQuote &&
individualTransfer.transferState === IndividualTransferInternalState.AGREEMENT_SUCCESS
) {
individualTransfer.setTransferState(IndividualTransferInternalState.AGREEMENT_ACCEPTED);
} else if( // handle reject case
!individualTransferFromMessage.acceptQuote &&
!individualTransferFromMessage.acceptQuote &&
individualTransfer.transferState === IndividualTransferInternalState.AGREEMENT_SUCCESS
) {
individualTransfer.setTransferState(IndividualTransferInternalState.AGREEMENT_REJECTED);
Expand Down
4 changes: 2 additions & 2 deletions modules/outbound-domain-event-handler/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mojaloop/sdk-scheme-adapter-outbound-domain-event-handler",
"version": "0.2.9",
"version": "0.2.10-snapshot.2",
"description": "mojaloop sdk scheme adapter outbound domain event handler",
"license": "Apache-2.0",
"homepage": "https://github.com/mojaloop/sdk-scheme-adapter/",
Expand Down Expand Up @@ -65,7 +65,7 @@
"eslint": "^8.27.0",
"jest": "^29.3.1",
"nodemon": "^2.0.20",
"npm-check-updates": "^16.3.18",
"npm-check-updates": "^16.3.22",
"replace": "^1.2.2",
"standard-version": "^9.5.0",
"ts-jest": "^29.0.3",
Expand Down
4 changes: 2 additions & 2 deletions modules/private-shared-lib/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mojaloop/sdk-scheme-adapter-private-shared-lib",
"version": "0.3.9",
"version": "0.3.10-snapshot.2",
"description": "SDK Scheme Adapter private shared library.",
"license": "Apache-2.0",
"homepage": "https://github.com/mojaloop/accounts-and-balances-bc/tree/main/modules/private-types",
Expand Down Expand Up @@ -40,7 +40,7 @@
"@types/node": "^18.11.9",
"eslint": "^8.27.0",
"jest": "^29.3.1",
"npm-check-updates": "^16.3.18",
"npm-check-updates": "^16.3.22",
"replace": "^1.2.2",
"standard-version": "^9.5.0",
"ts-jest": "^29.0.3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,14 @@ export class IndividualTransferEntity extends BaseEntity<IndividualTransferState
return this._state.transferResponse;
}

get acceptParty(): boolean | undefined {
return this._state.acceptParty;
}

get acceptQuote(): boolean | undefined {
return this._state.acceptQuote;
}

/* eslint-disable-next-line @typescript-eslint/no-explicit-any */
static CreateFromRequest(
request: SDKSchemeAdapter.V2_0_0.Outbound.Types.bulkTransactionIndividualTransfer,
Expand Down Expand Up @@ -168,6 +176,10 @@ export class IndividualTransferEntity extends BaseEntity<IndividualTransferState
this._state.acceptParty = acceptParty;
}

setAcceptQuote(acceptQuote: boolean) {
this._state.acceptQuote = acceptQuote;
}

// This refers to the bulk batch id.
setTransactionId(transactionId: string) {
this._state.transactionId = transactionId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export type CoreConnectorBulkAcceptQuoteRequestIndividualTransferResult = {
homeTransactionId: SDKSchemeAdapter.V2_0_0.Outbound.Types.bulkTransactionIndividualTransfer['homeTransactionId'];
transactionId: string;
quoteResponse?: SDKSchemeAdapter.V2_0_0.Outbound.Types.individualQuoteResult;
lastError: IndividualTransferError
lastError?: IndividualTransferError
};

export type CoreConnectorBulkAcceptQuoteRequest = {
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mojaloop/sdk-scheme-adapter",
"version": "21.3.4",
"version": "21.3.5-snapshot.2",
"description": "mojaloop sdk-scheme-adapter",
"license": "Apache-2.0",
"homepage": "https://github.com/mojaloop/sdk-scheme-adapter",
Expand Down Expand Up @@ -83,7 +83,7 @@
"husky": "^8.0.2",
"jest": "^29.3.1",
"nodemon": "^2.0.20",
"npm-check-updates": "^16.3.18",
"npm-check-updates": "^16.3.22",
"replace": "^1.2.2",
"standard-version": "^9.5.0",
"ts-jest": "^29.0.3",
Expand Down

0 comments on commit 6360c6c

Please sign in to comment.