Skip to content

Commit abdd770

Browse files
authored
[PHEE-721] Fix /gsma/transcation API to work with different dfspids. (#164)
* [PHEE-721] Fix /gsma/transcation API to work with different dfspids. * fix circleci * updated changes
1 parent df5ffb6 commit abdd770

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

Diff for: .circleci/config.yml

-4
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,7 @@ jobs:
5959
# Install Docker to build and push the image
6060
- setup_remote_docker:
6161
version: 20.10.24
62-
- kubernetes/install-kubectl
6362
- checkout
64-
- aws-eks/update-kubeconfig-with-authenticator:
65-
cluster-name: "sit"
66-
aws-region: "$REGION"
6763
# Build the Docker image
6864
- run:
6965
name: Build Docker image

Diff for: src/main/java/org/mifos/connector/channel/api/definition/GSMATransactionApi.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ public interface GSMATransactionApi {
1515
GsmaP2PResponseDto gsmatransaction(@RequestBody GsmaTransfer requestBody,
1616
@RequestHeader(value = CLIENTCORRELATIONID, required = false) String correlationId,
1717
@RequestHeader(value = "amsName") String amsName, @RequestHeader(value = "accountHoldingInstitutionId") String accountHoldId,
18-
@RequestHeader(value = "X-CallbackURL") String callbackURL) throws JsonProcessingException;
18+
@RequestHeader(value = "X-CallbackURL") String callbackURL,
19+
@RequestHeader(value = "Platform-TenantId", required = false) String tenantId) throws JsonProcessingException;
1920
}

Diff for: src/main/java/org/mifos/connector/channel/api/implementation/GSMATransactionApiController.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@ public class GSMATransactionApiController implements GSMATransactionApi {
2828

2929
@Override
3030
public GsmaP2PResponseDto gsmatransaction(GsmaTransfer requestBody, String correlationId, String amsName, String accountHoldId,
31-
String callbackURL) throws JsonProcessingException {
31+
String callbackURL, String tenantId) throws JsonProcessingException {
3232
Headers headers = new Headers.HeaderBuilder().addHeader("X-CorrelationID", correlationId).addHeader("amsName", amsName)
33-
.addHeader("accountHoldingInstitutionId", accountHoldId).addHeader("X-CallbackURL", callbackURL).build();
33+
.addHeader("accountHoldingInstitutionId", accountHoldId).addHeader("X-CallbackURL", callbackURL)
34+
.addHeader("Platform-TenantId", tenantId).build();
3435
Exchange exchange = SpringWrapperUtil.getDefaultWrappedExchange(producerTemplate.getCamelContext(), headers,
3536
objectMapper.writeValueAsString(requestBody));
3637
producerTemplate.send("direct:post-gsma-transaction", exchange);

Diff for: src/main/java/org/mifos/connector/channel/camel/routes/ChannelRouteBuilder.java

+10-3
Original file line numberDiff line numberDiff line change
@@ -682,14 +682,21 @@ private void inboundTransferC2bImplementationRoutes() {
682682
String accountHoldingInstitutionId = e.getIn().getHeader("accountHoldingInstitutionId").toString();
683683
String clientCorrelationId = e.getIn().getHeader("X-CorrelationID", String.class);
684684
String callbackURL = e.getIn().getHeader("X-CallbackURL").toString();
685-
// inbound-transfer-mifos-lion
685+
String tenantId = (String) e.getIn().getHeader("Platform-TenantId");
686686
Map<String, Object> variables = amsUtils.setZeebeVariables(gsmaTranfer.getCustomData(), timer);
687-
variables.put(TENANT_ID, accountHoldingInstitutionId);
687+
if (tenantId != null && !tenantId.isEmpty()) {
688+
variables.put(TENANT_ID, tenantId);
689+
} else {
690+
variables.put(TENANT_ID, accountHoldingInstitutionId);
691+
tenantId = accountHoldingInstitutionId;
692+
}
693+
variables.put("accountHoldingInstitutionId", accountHoldingInstitutionId);
688694
variables.put(CHANNEL_REQUEST, objectMapper.writeValueAsString(gsmaTranfer));
689695
variables.put("clientCorrelationId", clientCorrelationId);
690696
variables.put("X-CallbackURL", callbackURL);
697+
// tenantId in workflowName should be changed to accountHoldingInstitutionId;
691698
String workflowName = new StringBuilder().append(subtype).append("_").append(type).append("_").append(amsName)
692-
.append("-").append(accountHoldingInstitutionId).toString();
699+
.append("-").append(tenantId).toString();
693700
logger.info("Workflow Name:{}", workflowName);
694701
String transactionId = zeebeProcessStarter.startZeebeWorkflowC2B(workflowName, variables);
695702
GsmaP2PResponseDto responseDto = new GsmaP2PResponseDto();

0 commit comments

Comments
 (0)