@shushed/helpers 0.0.202-bug-erp-770-20251202153836 → 0.0.202-bug-erp-770-20251202172248

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +62 -25
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -111387,14 +111387,17 @@ function transformMasterOrder(payload) {
111387
111387
  const paymentsByPaymentNumber = /* @__PURE__ */ new Map();
111388
111388
  const paymentsByPaymentRefundNumber = /* @__PURE__ */ new Map();
111389
111389
  normalPays.forEach((p) => {
111390
- if (p.original_payment_refund_id) {
111391
- paymentsByOriginalRefundId.set(p.original_payment_refund_id, p);
111392
- }
111393
- if (p.payment_number) {
111394
- paymentsByPaymentNumber.set(p.payment_number, p);
111395
- }
111396
- if (p.payment_refund_number) {
111397
- paymentsByPaymentRefundNumber.set(p.payment_refund_number, p);
111390
+ const isRefund = String(p.type || "").toLowerCase() === "refund";
111391
+ if (!isRefund) {
111392
+ if (p.original_payment_refund_id) {
111393
+ paymentsByOriginalRefundId.set(p.original_payment_refund_id, p);
111394
+ }
111395
+ if (p.payment_number) {
111396
+ paymentsByPaymentNumber.set(p.payment_number, p);
111397
+ }
111398
+ if (p.payment_refund_number) {
111399
+ paymentsByPaymentRefundNumber.set(p.payment_refund_number, p);
111400
+ }
111398
111401
  }
111399
111402
  });
111400
111403
  const payments = Array.from(groupsMap.values()).map((g) => {
@@ -111417,43 +111420,77 @@ function transformMasterOrder(payload) {
111417
111420
  const primary = sortedEntries[0] || {};
111418
111421
  const paymentEntryForMethod = sortedEntries.find((e) => e.source === "payment" && e.payment_method_code);
111419
111422
  const paymentMethodCode = paymentEntryForMethod?.payment_method_code || primary.payment_method_code;
111420
- const cardPaymentEntryForMethod = sortedEntries.find((e) => e.source === "card_payment");
111423
+ let cardPaymentEntryForMethod = sortedEntries.find((e) => e.source === "card_payment");
111421
111424
  const groupCardData = {
111422
111425
  card_number: cardPaymentEntryForMethod?.card_number || sortedEntries.find((e) => e.card_number)?.card_number,
111423
111426
  transaction_id: cardPaymentEntryForMethod?.transaction_id || sortedEntries.find((e) => e.transaction_id)?.transaction_id,
111424
111427
  service_type: cardPaymentEntryForMethod?.service_type || sortedEntries.find((e) => e.service_type)?.service_type
111425
111428
  };
111426
- const pm = mapPaymentMethod(paymentMethodCode, groupCardData);
111429
+ let pm = mapPaymentMethod(paymentMethodCode, groupCardData);
111427
111430
  let cardPaymentEntryForTransaction = sortedEntries.find((e) => e.source === "card_payment" && e.transaction_id);
111428
111431
  if (!cardPaymentEntryForTransaction && primary.payment_gateway_token) {
111429
111432
  cardPaymentEntryForTransaction = cardPaymentsByToken.get(primary.payment_gateway_token);
111430
111433
  }
111431
111434
  if (!cardPaymentEntryForTransaction && g.type === "REFUND") {
111432
111435
  let originalPayment;
111433
- if (primary.payment_number) {
111434
- const foundByNumber = paymentsByPaymentNumber.get(primary.payment_number);
111435
- if (foundByNumber && String(foundByNumber.type || "").toLowerCase() !== "refund") {
111436
- originalPayment = foundByNumber;
111436
+ const refundEntryWithPaymentNumber = sortedEntries.find((e) => e.payment_number && String(e.payment_number).trim().length > 0);
111437
+ if (refundEntryWithPaymentNumber?.payment_number) {
111438
+ originalPayment = paymentsByPaymentNumber.get(refundEntryWithPaymentNumber.payment_number);
111439
+ }
111440
+ if (!originalPayment) {
111441
+ const refundEntryWithOriginalId = sortedEntries.find((e) => e.original_payment_refund_id);
111442
+ if (refundEntryWithOriginalId?.original_payment_refund_id) {
111443
+ originalPayment = Array.from(normalPays).find(
111444
+ (p) => p.ledger_entry_no === refundEntryWithOriginalId.original_payment_refund_id && String(p.type || "").toLowerCase() !== "refund"
111445
+ );
111446
+ }
111447
+ }
111448
+ if (!originalPayment) {
111449
+ const refundEntryWithRefundNumber = sortedEntries.find((e) => e.payment_refund_number && String(e.payment_refund_number).trim().length > 0);
111450
+ if (refundEntryWithRefundNumber?.payment_refund_number) {
111451
+ originalPayment = paymentsByPaymentRefundNumber.get(refundEntryWithRefundNumber.payment_refund_number);
111437
111452
  }
111438
111453
  }
111439
- if (!originalPayment && primary.payment_refund_number) {
111440
- const foundByRefundNumber = paymentsByPaymentRefundNumber.get(primary.payment_refund_number);
111441
- if (foundByRefundNumber && String(foundByRefundNumber.type || "").toLowerCase() !== "refund") {
111442
- originalPayment = foundByRefundNumber;
111454
+ if (originalPayment?.payment_gateway_token) {
111455
+ cardPaymentEntryForTransaction = cardPaymentsByToken.get(originalPayment.payment_gateway_token);
111456
+ if (!cardPaymentEntryForMethod && cardPaymentEntryForTransaction) {
111457
+ cardPaymentEntryForMethod = cardPaymentEntryForTransaction;
111458
+ const refundCardData = {
111459
+ card_number: cardPaymentEntryForMethod?.card_number,
111460
+ transaction_id: cardPaymentEntryForMethod?.transaction_id,
111461
+ service_type: cardPaymentEntryForMethod?.service_type
111462
+ };
111463
+ pm = mapPaymentMethod(paymentMethodCode, refundCardData);
111443
111464
  }
111444
111465
  }
111445
- if (!originalPayment && primary.original_payment_refund_id) {
111446
- originalPayment = Array.from(normalPays).find(
111466
+ }
111467
+ let transaction_id = null;
111468
+ if (g.type === "REFUND" && !cardPaymentEntryForTransaction && !primary.transaction_id && !primary.payment_gateway_token) {
111469
+ let originalPaymentForTransaction;
111470
+ const refundEntryWithPaymentNumber = sortedEntries.find((e) => e.payment_number && String(e.payment_number).trim().length > 0);
111471
+ if (refundEntryWithPaymentNumber?.payment_number) {
111472
+ originalPaymentForTransaction = paymentsByPaymentNumber.get(refundEntryWithPaymentNumber.payment_number);
111473
+ }
111474
+ if (!originalPaymentForTransaction && primary.original_payment_refund_id) {
111475
+ originalPaymentForTransaction = Array.from(normalPays).find(
111447
111476
  (p) => p.ledger_entry_no === primary.original_payment_refund_id && String(p.type || "").toLowerCase() !== "refund"
111448
111477
  );
111449
111478
  }
111450
- if (originalPayment?.payment_gateway_token) {
111451
- cardPaymentEntryForTransaction = cardPaymentsByToken.get(originalPayment.payment_gateway_token);
111479
+ if (!originalPaymentForTransaction && primary.payment_refund_number) {
111480
+ const refundEntryWithRefundNumber = sortedEntries.find((e) => e.payment_refund_number && String(e.payment_refund_number).trim().length > 0);
111481
+ if (refundEntryWithRefundNumber?.payment_refund_number) {
111482
+ originalPaymentForTransaction = paymentsByPaymentRefundNumber.get(refundEntryWithRefundNumber.payment_refund_number);
111483
+ }
111452
111484
  }
111485
+ if (originalPaymentForTransaction?.payment_gateway_token) {
111486
+ const originalCardPayment = cardPaymentsByToken.get(originalPaymentForTransaction.payment_gateway_token);
111487
+ transaction_id = originalCardPayment?.transaction_id || null;
111488
+ }
111489
+ } else {
111490
+ transaction_id = cardPaymentEntryForTransaction?.transaction_id || primary.transaction_id || null;
111453
111491
  }
111454
- const transaction_id = cardPaymentEntryForTransaction?.transaction_id || primary.transaction_id || null;
111455
- const psp_reference = primary.psp_reference || transaction_id || null;
111456
- const paymentCreatedByRaw = primary.created_by || invoice0?.created_by || sale0?.created_by || "";
111492
+ const psp_reference = transaction_id;
111493
+ const paymentCreatedByRaw = invoice0?.created_by || primary.created_by || sale0?.created_by || "";
111457
111494
  const paymentCreatedByUpper = String(paymentCreatedByRaw).toUpperCase();
111458
111495
  const isEmail = typeof paymentCreatedByRaw === "string" && paymentCreatedByRaw.includes("@");
111459
111496
  const validEnumValues = ["CUSTOMER", "SYSTEM", "CENTRA", "SITOO", "STOREFRONT", "MOTO"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shushed/helpers",
3
- "version": "0.0.202-bug-erp-770-20251202153836",
3
+ "version": "0.0.202-bug-erp-770-20251202172248",
4
4
  "author": "",
5
5
  "license": "UNLICENSED",
6
6
  "description": "",