import { P2P_NOD_PROP, P2P_NOD_SPECIAL_VALUE } from '../../../../enum/p2p'; import envConfig from '../../../../env/env-config'; import { getNodeProfile } from '../../../../env/nodeProfile'; export function getNoticeOfDiscrepancyFromRowsHash(senderCompany, rowHashes): P2PNoticeOfDiscrepancy { const senderDisplayName = getNodeProfile(senderCompany).displayName; const senderX500Name = getNodeProfile(senderCompany).name; let partyDisplayNames = []; let partyX500Names = []; if (rowHashes[P2P_NOD_PROP.TO]) { partyDisplayNames = rowHashes[P2P_NOD_PROP.TO].split(',').map(function (party) { const companyName = envConfig.defaultParty[party]; return getNodeProfile(companyName).displayName; }); partyX500Names = rowHashes[P2P_NOD_PROP.TO].split(',').map(function (party) { const companyName = envConfig.defaultParty[party]; return getNodeProfile(companyName).name; }); } const principalAmount = rowHashes[P2P_NOD_PROP.PRINCIPAL_AMOUNT]; const additionalAmount = rowHashes[P2P_NOD_PROP.ADDITIONAL_AMOUNT]; const chargesToBeDeductedChecked = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_DEDUCTED] === P2P_NOD_SPECIAL_VALUE.CHECKED ? true : false; const chargesToBeDeductedAmount = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_DEDUCTED_AMOUNT]; const deductedChargeCodes = []; const chargesToBeDeductedChargesCode = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_DEDUCTED_CHARGES_CODE]; chargesToBeDeductedChargesCode?.split(',').forEach((chargeCode) => { deductedChargeCodes.push(chargeCode.trim()); }); const chargesToBeDeductedDetails = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_DEDUCTED_DETAILS]; const chargesToBeAddedChecked = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_ADDED] === P2P_NOD_SPECIAL_VALUE.CHECKED; const chargesToBeAddedAmount = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_ADDED_AMOUNT]; const addedChargeCodes = []; const chargesToBeAddedChargesCode = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_ADDED_CHARGES_CODE]; chargesToBeAddedChargesCode?.split(',').forEach((chargeCode) => { addedChargeCodes.push(chargeCode.trim()); }); const chargesToBeAddedDetails = rowHashes[P2P_NOD_PROP.CHARGES_TO_BE_ADDED_DETAILS]; const totalAmountToBePaid = rowHashes[P2P_NOD_PROP.TOTAL_AMOUNT_TO_BE_PAID]; const accountWithBank = rowHashes[P2P_NOD_PROP.ACCOUNT_WITH_BANK]; const senderToReceiverInformation = rowHashes[P2P_NOD_PROP.SENDER_TO_RECEIVER_INFORMATION]; const noticeOfDiscrepancies = rowHashes[P2P_NOD_PROP.NOTICE_OF_DISCREPANCIES]; return { sender: { displayName: senderDisplayName, x500Name: senderX500Name }, recipients: { displayNames: partyDisplayNames, x500Names: partyX500Names }, principalAmount: principalAmount, additionalAmount: additionalAmount, chargesToBeDeductedChecked: chargesToBeDeductedChecked, chargesToBeDeductedAmount: chargesToBeDeductedAmount, deductedChargeCodes: deductedChargeCodes, chargesToBeDeductedDetails: chargesToBeDeductedDetails, chargesToBeAddedChecked: chargesToBeAddedChecked, chargesToBeAddedAmount: chargesToBeAddedAmount, addedChargeCodes: addedChargeCodes, chargesToBeAddedDetails: chargesToBeAddedDetails, totalAmountToBePaid: totalAmountToBePaid, accountWithBank: accountWithBank, senderToReceiverInformation: senderToReceiverInformation, noticeOfDiscrepancies: noticeOfDiscrepancies }; }