79243479

Date: 2024-12-02 09:17:20
Score: 0.5
Natty:
Report link

if I understood your question correctly (in regards what is in the payload and what is in the input array) I was able to write this mapping, to be able to find matches between those two data sets:

%dw 2.0
output application/json

var myPayload = {
  "aAuDQ0000004mX60AI": [
    {
      "noOfDocumentItemToSigner": ["eSign_documentItemName1__c"],
      "contentVersion": "068DQ000000lK0iYAE",
      "documentName": "ESRA with Exhibit_A"
    },
    {
      "noOfDocumentItemToSigner": ["eSign_documentItemName1__c"],
      "contentVersion": "068DQ000000lK0OYAU",
      "documentName": "ODP Agreement"
    }
  ],
  "aAuDQ0000004mXG0AY": [
    {
      "noOfDocumentItemToSigner": ["eSign_documentItemName1__c"],
      "contentVersion": "068DQ000000lK0JYAU",
      "documentName": "ESRA For bb bb"
    },
    {
      "noOfDocumentItemToSigner": ["eSign_documentItemName1__c", "eSign_documentItemName2__c"],
      "contentVersion": "068DQ000000lK0OYAU",
      "documentName": "ODP Agreement"
    }
  ]
}

var myInputArray = [
    {
        "noOfDocumentItemToSigner": [
        "eSign_documentItemName1__c",
            "eSign_documentItemName2__c"
        ],
        "contentVersion": "068DQ000000lK0iYAE",
        "documentName": "ESRA with Exhibit_A"
    },
    {
        "noOfDocumentItemToSigner": [
        "eSign_documentItemName1__c"
        ],
        "contentVersion": "068DQ000000lK0OYAU",
        "documentName": "ODP Agreement"
    }
]

---
myPayload mapObject ((value, key, index) -> {
    (key): (value) map ((item, index) -> {
        noOfDocumentItemToSigner: item.noOfDocumentItemToSigner,
        contentVersion: item.contentVersion,
        documentName: item.documentName
    }) filter $.contentVersion == (myInputArray map ((item2, index2) -> item2.contentVersion))[index]
})
Reasons:
  • Blacklisted phrase (1): regards
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Dane