@konplit-services/common 1.6.0 → 1.7.2

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 (70) hide show
  1. package/build/app.configs.d.ts +8 -0
  2. package/build/app.configs.js +9 -0
  3. package/build/events/Settlements-events/interfaces/settlement-created.interface.d.ts +5 -4
  4. package/build/events/Settlements-events/interfaces/settlement-pay-merchant-created.interface.d.ts +3 -2
  5. package/build/events/Settlements-events/interfaces/settlement-pay-merchant-nibss-created.interface.d.ts +3 -2
  6. package/build/events/Settlements-events/interfaces/settlement-transfer-reserved-nibss.interface.d.ts +3 -2
  7. package/build/events/Settlements-events/interfaces/settlement-transfer-verify-nibss.interface.d.ts +3 -2
  8. package/build/events/Settlements-events/interfaces/settlement-transfer-verify.interface.d.ts +2 -2
  9. package/build/events/Settlements-events/interfaces/settlement-transter-initiation.interface.d.ts +3 -2
  10. package/build/events/Settlements-events/interfaces/settlement-transter-reserved.interface.d.ts +3 -2
  11. package/build/events/Settlements-events/interfaces/settlement-transter-wallet.interface.d.ts +2 -2
  12. package/build/events/Settlements-events/interfaces/settlement-updated.interface.d.ts +3 -2
  13. package/build/events/base-events/base-events.listener.js +1 -1
  14. package/build/events/easypay-events/interfaces/insuficient-fund.interface.d.ts +2 -2
  15. package/build/events/easypay-events/interfaces/reserve-fund-update.interface.d.ts +3 -3
  16. package/build/events/easypay-events/interfaces/reserve-fund.interface.d.ts +3 -3
  17. package/build/events/invoices-events/interfaces/invoice-payment-created.interface.d.ts +1 -1
  18. package/build/events/kore-events/interfaces/subscription-created.interface.d.ts +1 -1
  19. package/build/events/kore-events/interfaces/subscription-next.d.ts +1 -1
  20. package/build/events/kore-events/interfaces/subscription-reminder-next.d.ts +1 -1
  21. package/build/events/kore-events/interfaces/subscription-reminder.interface.d.ts +1 -1
  22. package/build/events/kore-events/interfaces/subscription-updated.interface.d.ts +1 -1
  23. package/build/events/notification-events/interfaces/index.d.ts +1 -0
  24. package/build/events/notification-events/interfaces/index.js +2 -0
  25. package/build/events/notification-events/interfaces/sms/sms.interface.d.ts +13 -0
  26. package/build/events/notification-events/interfaces/sms/sms.interface.js +2 -0
  27. package/build/events/refund-events/inteterfaces/index.js +1 -0
  28. package/build/events/refund-events/inteterfaces/refund-bank-status-check.interface.d.ts +3 -3
  29. package/build/events/refund-events/inteterfaces/refund-bank-transfer.interface.d.ts +3 -3
  30. package/build/events/refund-events/inteterfaces/refund-card-payment.interface.d.ts +3 -3
  31. package/build/events/refund-events/inteterfaces/refund-card-status-check.interface.d.ts +3 -3
  32. package/build/events/refund-events/inteterfaces/refund-failed.interface.d.ts +3 -3
  33. package/build/events/refund-events/inteterfaces/refund-init-fund-reserve-res.interface.d.ts +3 -3
  34. package/build/events/refund-events/inteterfaces/refund-init-fund-reserve.interface.d.ts +3 -3
  35. package/build/events/refund-events/inteterfaces/refund-reverse-fund.interface.d.ts +1 -1
  36. package/build/events/refund-events/inteterfaces/refund-settlement-ledger-created.interface.d.ts +2 -2
  37. package/build/events/refund-events/inteterfaces/refund-settlement-ledger-insufficient.interface.d.ts +1 -1
  38. package/build/events/refund-events/inteterfaces/refund-settlement-ledger-notfound.interface.d.ts +2 -2
  39. package/build/events/refund-events/inteterfaces/refund-settlement-ledger-release.interface.d.ts +3 -3
  40. package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reserve-fund.interface.d.ts +2 -2
  41. package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reserve-res.interface.d.ts +3 -3
  42. package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reverse.interface.d.ts +2 -2
  43. package/build/events/refund-events/inteterfaces/refund-ussd-payment.interface.d.ts +3 -3
  44. package/build/events/refund-events/inteterfaces/refund-ussd-status-check.interface.d.ts +3 -3
  45. package/build/events/revenue-events/interfaces/revenue-created.interface.d.ts +1 -1
  46. package/build/events/subjects.d.ts +1 -0
  47. package/build/events/subjects.js +1 -0
  48. package/build/events/transaction-events/interfaces/transaction-aborted.interface.d.ts +1 -1
  49. package/build/events/transaction-events/interfaces/transaction-cancelled.interface.d.ts +1 -1
  50. package/build/events/transaction-events/interfaces/transaction-completed.interface.d.ts +1 -1
  51. package/build/events/transaction-events/interfaces/transaction-declined.interface.d.ts +1 -1
  52. package/build/events/transaction-events/interfaces/transaction-failed.interface.d.ts +1 -1
  53. package/build/events/transaction-events/interfaces/transaction-processing.interface.d.ts +1 -1
  54. package/build/events/transaction-events/interfaces/transaction-webhook.interface.d.ts +1 -1
  55. package/build/events/transfers-events/interfaces/transfer-created.interface.d.ts +2 -2
  56. package/build/events/transfers-events/interfaces/transfer-initiation.interface.d.ts +2 -2
  57. package/build/events/transfers-events/interfaces/transfer-success.interface.d.ts +2 -2
  58. package/build/events/wallets/interfaces/ledger-credited.interface.d.ts +1 -1
  59. package/build/events/wallets/interfaces/ledger-debited.interface.d.ts +1 -1
  60. package/build/events/wallets/interfaces/wallet-credited.interface.d.ts +1 -1
  61. package/build/events/wallets/interfaces/wallet-debited.interface.d.ts +1 -1
  62. package/build/helper/account-balance-types.js +1 -1
  63. package/build/helper/card_auth_type.js +1 -0
  64. package/build/helper/date-processing.d.ts +2 -1
  65. package/build/helper/date-processing.js +14 -2
  66. package/build/helper/money.d.ts +6 -1
  67. package/build/helper/money.js +11 -5
  68. package/build/interfact.js +1 -1
  69. package/build/listener.js +1 -0
  70. package/package.json +1 -1
@@ -303,6 +303,14 @@ declare class AppConfigs {
303
303
  getEmailTemplates(): EmailTemplate;
304
304
  getCloudinaryKey(): string;
305
305
  getMailSenderKey(): string;
306
+ getSmsConfig(): {
307
+ vendor: string;
308
+ termii: {
309
+ apiKey: string;
310
+ secretKey: string;
311
+ sender: string;
312
+ };
313
+ };
306
314
  getTermiiSMSKey(): {
307
315
  apiKey: string;
308
316
  secretKey: string;
@@ -451,6 +451,15 @@ class AppConfigs {
451
451
  }
452
452
  return this.env.MAIL_SENDER_KEY;
453
453
  }
454
+ getSmsConfig() {
455
+ if (!this.env.SMS_VENDOR) {
456
+ throw new Error("SMS_VENDOR is required");
457
+ }
458
+ return {
459
+ vendor: this.env.SMS_VENDOR,
460
+ termii: this.getTermiiSMSKey()
461
+ };
462
+ }
454
463
  getTermiiSMSKey() {
455
464
  if (!this.env.SMS_API_KEY) {
456
465
  throw new Error("SMS_API_KEY is required");
@@ -10,10 +10,11 @@ export interface SettlementCreatedEvent {
10
10
  transactionId: string;
11
11
  accountNumber: string;
12
12
  accountName: string;
13
- amount: number;
14
- charges: number;
15
- stampDuty: number;
16
- tax: number;
13
+ amount: string;
14
+ charges: string;
15
+ stampDuty: string;
16
+ tax: string;
17
+ transactionFee: string;
17
18
  settlementType: Settlement_TYPES;
18
19
  transactionDate: Date;
19
20
  schedule: SettlementSchedule;
@@ -7,9 +7,10 @@ export interface SettlementPayMerchantEvent {
7
7
  data: {
8
8
  id: string;
9
9
  merchantId: string;
10
+ merchantName: string;
10
11
  accountNumber: string;
11
- amount: number;
12
- charges: number;
12
+ amount: string;
13
+ charges: string;
13
14
  transactionDate: Date;
14
15
  currency?: CURRENCY_TYPE;
15
16
  settlementProcessor: "nibss" | "interswitch";
@@ -8,8 +8,9 @@ export interface SettlementPayMerchantNIBSSEvent {
8
8
  id: string;
9
9
  merchantId: string;
10
10
  accountNumber: string;
11
- amount: number;
12
- charges: number;
11
+ merchantName: string;
12
+ amount: string;
13
+ charges: string;
13
14
  transactionDate: Date;
14
15
  currency?: CURRENCY_TYPE;
15
16
  settlementProcessor: "nibss" | "interswitch";
@@ -8,8 +8,9 @@ export interface SettlementTransferReservedNIBSSEvent {
8
8
  id: string;
9
9
  merchantId: string;
10
10
  accountNumber: string;
11
- amount: number;
12
- charges: number;
11
+ amount: string;
12
+ charges: string;
13
+ merchantName: string;
13
14
  settlementProcessor: "nibss" | "interswitch";
14
15
  transactionDate: Date;
15
16
  currency?: CURRENCY_TYPE;
@@ -6,9 +6,10 @@ export interface SettlementTransferVerifyNISSEvent {
6
6
  data: {
7
7
  merchantId: string;
8
8
  accountNumber: string;
9
- amount: number;
10
- charges: number;
9
+ amount: string;
10
+ charges: string;
11
11
  settlementId: string;
12
+ merchantName: string;
12
13
  transferId: string;
13
14
  verificationTime: Date;
14
15
  };
@@ -6,8 +6,8 @@ export interface SettlementTransferVerifyEvent {
6
6
  data: {
7
7
  merchantId: string;
8
8
  accountNumber: string;
9
- amount: number;
10
- charges: number;
9
+ amount: string;
10
+ charges: string;
11
11
  transferCode: string;
12
12
  };
13
13
  }
@@ -8,8 +8,9 @@ export interface SettlementTransferInitiationEvent {
8
8
  id: string;
9
9
  merchantId: string;
10
10
  accountNumber: string;
11
- amount: number;
12
- charges: number;
11
+ merchantName: string;
12
+ amount: string;
13
+ charges: string;
13
14
  settlementProcessor: "nibss" | "interswitch";
14
15
  transactionDate: Date;
15
16
  currency?: CURRENCY_TYPE;
@@ -8,8 +8,9 @@ export interface SettlementTransferReservedEvent {
8
8
  id: string;
9
9
  merchantId: string;
10
10
  accountNumber: string;
11
- amount: number;
12
- charges: number;
11
+ merchantName: string;
12
+ amount: string;
13
+ charges: string;
13
14
  settlementProcessor: "nibss" | "interswitch";
14
15
  transactionDate: Date;
15
16
  currency?: CURRENCY_TYPE;
@@ -7,8 +7,8 @@ export interface SettlementTransferWalletEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  accountNumber: string;
10
- amount: number;
11
- charges: number;
10
+ amount: string;
11
+ charges: string;
12
12
  currency?: CURRENCY_TYPE;
13
13
  };
14
14
  }
@@ -8,11 +8,12 @@ export interface SettlementUpdatedEvent {
8
8
  id: string;
9
9
  merchantId: string;
10
10
  accountNumber: string;
11
- amount: number;
12
- charges: number;
11
+ amount: string;
12
+ charges: string;
13
13
  status?: Settlement_Status;
14
14
  settlementType: Settlement_TYPES;
15
15
  transactionDate: Date;
16
+ merchantName: string;
16
17
  currency?: CURRENCY_TYPE;
17
18
  version?: number;
18
19
  };
@@ -182,7 +182,7 @@ class Listener {
182
182
  filter_subject: subject,
183
183
  deliver_policy: nats_1.DeliverPolicy.All,
184
184
  ack_wait: this.ackWait,
185
- max_deliver: 576, //5 minutes * 576 equals two days assuming the systme
185
+ max_deliver: 2016, // 5 minutes × 2016 = 7 days
186
186
  };
187
187
  yield jsm.consumers.add(streamName, consumerConfig);
188
188
  console.log(`Consumer '${durableName}' created`);
@@ -8,7 +8,7 @@ export interface ETransferInsuficientFundCreatedEvent {
8
8
  merchantId: string;
9
9
  transferId: string;
10
10
  usage: Usage;
11
- balance: number;
12
- requestAmount: number;
11
+ balance: string;
12
+ requestAmount: string;
13
13
  };
14
14
  }
@@ -8,8 +8,8 @@ export interface ReservedFundCompletedEvent {
8
8
  merchantId: string;
9
9
  transferId: string;
10
10
  usage: Usage;
11
- amount: number;
12
- charges: number;
13
- total: number;
11
+ amount: string;
12
+ charges: string;
13
+ total: string;
14
14
  };
15
15
  }
@@ -8,8 +8,8 @@ export interface ETransferReservedFundCreatedEvent {
8
8
  merchantId: string;
9
9
  transferId: string;
10
10
  usage: Usage;
11
- amount: number;
12
- charges: number;
13
- total: number;
11
+ amount: string;
12
+ charges: string;
13
+ total: string;
14
14
  };
15
15
  }
@@ -8,7 +8,7 @@ export interface InvoicePaymentCreatedEvent {
8
8
  invoiceId: string;
9
9
  paymentRef: string;
10
10
  merchantId: string;
11
- amount: number;
11
+ amount: string;
12
12
  usage: Usage;
13
13
  paidAt: Date;
14
14
  };
@@ -11,7 +11,7 @@ export interface SubscriptionCreatedEvent {
11
11
  cronPattern: string;
12
12
  reminderPattern: string;
13
13
  usage: Usage;
14
- amount: number;
14
+ amount: string;
15
15
  endDate?: Date;
16
16
  startDate?: Date;
17
17
  limit?: number;
@@ -11,7 +11,7 @@ export interface SubscriptionNextEvent {
11
11
  cronPattern: string;
12
12
  reminderPattern: string;
13
13
  usage: Usage;
14
- amount: number;
14
+ amount: string;
15
15
  endDate?: Date;
16
16
  startDate?: Date;
17
17
  limit?: number;
@@ -11,7 +11,7 @@ export interface SubscriptionReminderNextEvent {
11
11
  cronPattern: string;
12
12
  reminderPattern: string;
13
13
  usage: Usage;
14
- amount: number;
14
+ amount: string;
15
15
  endDate?: Date;
16
16
  startDate?: Date;
17
17
  limit?: number;
@@ -11,7 +11,7 @@ export interface SubscriptionReminderCreatedEvent {
11
11
  cronPattern: string;
12
12
  reminderPattern: string;
13
13
  usage: Usage;
14
- amount: number;
14
+ amount: string;
15
15
  endDate?: Date;
16
16
  startDate?: Date;
17
17
  limit?: number;
@@ -12,7 +12,7 @@ export interface SubscriptionUpdatedEvent {
12
12
  reminderPattern: string;
13
13
  status: SUBSCRIPTION_STATUS;
14
14
  usage: Usage;
15
- amount: number;
15
+ amount: string;
16
16
  endDate?: Date;
17
17
  startDate?: Date;
18
18
  limit?: number;
@@ -1,3 +1,4 @@
1
1
  export * from "./mailersend.interface";
2
2
  export * from "./termii-sms.interface";
3
3
  export * from "./emails/index";
4
+ export * from "./sms/sms.interface";
@@ -17,3 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./mailersend.interface"), exports);
18
18
  __exportStar(require("./termii-sms.interface"), exports);
19
19
  __exportStar(require("./emails/index"), exports);
20
+ __exportStar(require("./sms/sms.interface"), exports);
21
+ //fixing merge conflict
@@ -0,0 +1,13 @@
1
+ import { StreamEvent, StreamName, Subjects } from "../../../subjects";
2
+ export interface SmsNotifyCreatedEvent {
3
+ subject: Subjects.NotificationSmsNotifyCreated;
4
+ streamName: StreamName.name;
5
+ streamEvents: StreamEvent.Event;
6
+ data: {
7
+ message: string;
8
+ to: [string];
9
+ from?: string;
10
+ subject?: string;
11
+ clientName?: string;
12
+ };
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -32,3 +32,4 @@ __exportStar(require("./refund-settlement-ledger-reserve-fund.interface"), expor
32
32
  __exportStar(require("./refund-settlement-ledger-reserve-res.interface"), exports);
33
33
  __exportStar(require("./refund-settlement-ledger-reverse.interface"), exports);
34
34
  __exportStar(require("./refund-settlement-ledger-notfound.interface"), exports);
35
+ //commit changed
@@ -10,15 +10,15 @@ export interface RefundBankPaymentStatusCheckEvent {
10
10
  transactionId: string;
11
11
  refundType: REFUND_TYPE;
12
12
  refundSource: REFUND_SOURCE;
13
- amount: number;
13
+ amount: string;
14
14
  reason?: string;
15
15
  accountNumber: string;
16
16
  bankCode: string;
17
17
  code?: string;
18
18
  verificationTime: Date;
19
19
  responseData?: Record<string, any>;
20
- totalAmount: number;
20
+ totalAmount: string;
21
21
  transactionDate: Date;
22
- fees: number;
22
+ fees: string;
23
23
  };
24
24
  }
@@ -10,14 +10,14 @@ export interface RefundBankTransferCreatedEvent {
10
10
  transactionId: string;
11
11
  refundType: REFUND_TYPE;
12
12
  refundSource: REFUND_SOURCE;
13
- amount: number;
13
+ amount: string;
14
14
  reason?: string;
15
15
  accountNumber: string;
16
16
  bankCode: string;
17
17
  code?: string;
18
- totalAmount: number;
18
+ totalAmount: string;
19
19
  transactionDate: Date;
20
- fees: number;
20
+ fees: string;
21
21
  };
22
22
  }
23
23
  export interface RefundRequest {
@@ -10,10 +10,10 @@ export interface RefundCardPaymentCreatedEvent {
10
10
  transactionId: string;
11
11
  refundType: REFUND_TYPE;
12
12
  refundSource: REFUND_SOURCE;
13
- amount: number;
13
+ amount: string;
14
14
  reason?: string;
15
- totalAmount: number;
15
+ totalAmount: string;
16
16
  transactionDate: Date;
17
- fees: number;
17
+ fees: string;
18
18
  };
19
19
  }
@@ -10,12 +10,12 @@ export interface RefundCardPaymentStatusCheckEvent {
10
10
  transactionId: string;
11
11
  refundReference: string;
12
12
  refundType: REFUND_TYPE;
13
- amount: number;
13
+ amount: string;
14
14
  reason?: string;
15
15
  responseData?: Record<string, any>;
16
16
  refundSource: REFUND_SOURCE;
17
- totalAmount: number;
17
+ totalAmount: string;
18
18
  transactionDate: Date;
19
- fees: number;
19
+ fees: string;
20
20
  };
21
21
  }
@@ -9,12 +9,12 @@ export interface RefundFailedCreatedEvent {
9
9
  refundId: string;
10
10
  transactionId: string;
11
11
  processorResponse?: Record<string, any>;
12
- amount: number;
12
+ amount: string;
13
13
  refundType: REFUND_TYPE;
14
14
  refundSource: REFUND_SOURCE;
15
- totalAmount: number;
15
+ totalAmount: string;
16
16
  reason?: string;
17
17
  transactionDate: Date;
18
- fees: number;
18
+ fees: string;
19
19
  };
20
20
  }
@@ -10,11 +10,11 @@ export interface RefundFundReserveResponseInitetiatedEvent {
10
10
  transactionId: string;
11
11
  responseType: REFUND_WALLET_RESPONSE;
12
12
  refundSource: REFUND_SOURCE;
13
- amount: number;
13
+ amount: string;
14
14
  reason?: string;
15
- totalAmount: number;
15
+ totalAmount: string;
16
16
  refundType: REFUND_TYPE;
17
17
  transactionDate: Date;
18
- fees: number;
18
+ fees: string;
19
19
  };
20
20
  }
@@ -8,12 +8,12 @@ export interface RefundFundReserveInitetiatedEvent {
8
8
  merchantId: string;
9
9
  refundId: string;
10
10
  transactionId: string;
11
- amount: number;
11
+ amount: string;
12
12
  refundType: REFUND_TYPE;
13
13
  refundSource: REFUND_SOURCE;
14
14
  reason?: string;
15
- totalAmount: number;
15
+ totalAmount: string;
16
16
  transactionDate: Date;
17
- fees: number;
17
+ fees: string;
18
18
  };
19
19
  }
@@ -8,7 +8,7 @@ export interface RefundReversFundInitetiatedEvent {
8
8
  merchantId: string;
9
9
  refundId: string;
10
10
  transactionId: string;
11
- amount: number;
11
+ amount: string;
12
12
  refundType: REFUND_TYPE;
13
13
  refundSource: REFUND_SOURCE;
14
14
  reason?: string;
@@ -9,12 +9,12 @@ export interface RefundFundSettlementLedgerCreatedEvent {
9
9
  refundId: string;
10
10
  transactionId: string;
11
11
  settlementId: string;
12
- amount: number;
12
+ amount: string;
13
13
  refundType: REFUND_TYPE;
14
14
  refundSource: REFUND_SOURCE;
15
15
  reason?: string;
16
16
  transactionDate: Date;
17
- fees: number;
17
+ fees: string;
18
18
  currency?: CURRENCY_TYPE;
19
19
  };
20
20
  }
@@ -8,7 +8,7 @@ export interface RefundFundSettlementLedgerInsufficientFundEvent {
8
8
  merchantId: string;
9
9
  refundId: string;
10
10
  transactionId: string;
11
- amount: number;
11
+ amount: string;
12
12
  refundType: REFUND_TYPE;
13
13
  refundSource: REFUND_SOURCE;
14
14
  reason?: string;
@@ -8,12 +8,12 @@ export interface RefundFundSettlementLedgerNotFoundEvent {
8
8
  merchantId: string;
9
9
  refundId: string;
10
10
  transactionId: string;
11
- amount: number;
11
+ amount: string;
12
12
  refundType: REFUND_TYPE;
13
13
  refundSource: REFUND_SOURCE;
14
14
  reason?: string;
15
15
  transactionDate: Date;
16
- fees: number;
16
+ fees: string;
17
17
  currency?: CURRENCY_TYPE;
18
18
  };
19
19
  }
@@ -9,12 +9,12 @@ export interface RefundFundSettlementLedgerReleaseFundEvent {
9
9
  refundId: string;
10
10
  transactionId: string;
11
11
  settlementId: string;
12
- amount: number;
12
+ amount: string;
13
13
  refundType: REFUND_TYPE;
14
14
  refundSource: REFUND_SOURCE;
15
- totalAmount: number;
15
+ totalAmount: string;
16
16
  reason?: string;
17
17
  transactionDate: Date;
18
- fees: number;
18
+ fees: string;
19
19
  };
20
20
  }
@@ -8,8 +8,8 @@ export interface RefundFundSettlementLedgerReserveFundEvent {
8
8
  merchantId: string;
9
9
  refundId: string;
10
10
  transactionId: string;
11
- amount: number;
12
- totalAmount: number;
11
+ amount: string;
12
+ totalAmount: string;
13
13
  refundType: REFUND_TYPE;
14
14
  refundSource: REFUND_SOURCE;
15
15
  reason?: string;
@@ -10,11 +10,11 @@ export interface RefundFundSettlementLedgerReserveFundEventResponseEvent {
10
10
  transactionId: string;
11
11
  responseType: REFUND_WALLET_RESPONSE;
12
12
  refundSource: REFUND_SOURCE;
13
- totalAmount: number;
14
- amount: number;
13
+ totalAmount: string;
14
+ amount: string;
15
15
  reason?: string;
16
16
  refundType: REFUND_TYPE;
17
17
  transactionDate: Date;
18
- fees: number;
18
+ fees: string;
19
19
  };
20
20
  }
@@ -9,8 +9,8 @@ export interface RefundFundSettlementLedgerReverseFundToLedgerEvent {
9
9
  refundId: string;
10
10
  transactionId: string;
11
11
  settlementId: string;
12
- amount: number;
13
- totalAmount: number;
12
+ amount: string;
13
+ totalAmount: string;
14
14
  refundType: REFUND_TYPE;
15
15
  refundSource: REFUND_SOURCE;
16
16
  reason?: string;
@@ -10,10 +10,10 @@ export interface RefundUSSDPaymentCreatedEvent {
10
10
  transactionId: string;
11
11
  refundType: REFUND_TYPE;
12
12
  refundSource: REFUND_SOURCE;
13
- amount: number;
13
+ amount: string;
14
14
  reason?: string;
15
- totalAmount: number;
15
+ totalAmount: string;
16
16
  transactionDate: Date;
17
- fees: number;
17
+ fees: string;
18
18
  };
19
19
  }
@@ -10,12 +10,12 @@ export interface RefundUSSDPaymentStatusCheckEvent {
10
10
  transactionId: string;
11
11
  refundReference: string;
12
12
  refundType: REFUND_TYPE;
13
- amount: number;
13
+ amount: string;
14
14
  reason?: string;
15
15
  responseData?: Record<string, any>;
16
16
  refundSource: REFUND_SOURCE;
17
- totalAmount: number;
17
+ totalAmount: string;
18
18
  transactionDate: Date;
19
- fees: number;
19
+ fees: string;
20
20
  };
21
21
  }
@@ -7,7 +7,7 @@ export interface RevenueCreatedEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  id: string;
10
- amount: number;
10
+ amount: string;
11
11
  source: string;
12
12
  status: Status.Success;
13
13
  type: REVENUE_TYPE;
@@ -22,6 +22,7 @@ export declare enum Subjects {
22
22
  PermissionRemoved = "events.permission.removed",
23
23
  AddPermissionToUser = "events.add.permission.to.user",
24
24
  NotificationSmsCreated = "events.sms.created",
25
+ NotificationSmsNotifyCreated = "events.sms.notify.created",
25
26
  NotificationEmailCreated = "events.email.created",
26
27
  InvoiceNotificationEmailCreated = "events.invoice.notification",
27
28
  InvoiceReceiptNotificationEmailCreated = "events.invoice.receipt.notification",
@@ -35,6 +35,7 @@ var Subjects;
35
35
  Subjects["AddPermissionToUser"] = "events.add.permission.to.user";
36
36
  //Notification
37
37
  Subjects["NotificationSmsCreated"] = "events.sms.created";
38
+ Subjects["NotificationSmsNotifyCreated"] = "events.sms.notify.created";
38
39
  Subjects["NotificationEmailCreated"] = "events.email.created";
39
40
  //Advance Notifications
40
41
  Subjects["InvoiceNotificationEmailCreated"] = "events.invoice.notification";
@@ -7,7 +7,7 @@ export interface TransactionAbortedEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  transactionId: string;
10
- amount: number;
10
+ amount: string;
11
11
  additionalData?: any;
12
12
  usage: Usage;
13
13
  channel: PaymentOptions;
@@ -7,7 +7,7 @@ export interface TransactionCancelledEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  transactionId: string;
10
- amount: number;
10
+ amount: string;
11
11
  additionalData?: any;
12
12
  usage: Usage;
13
13
  channel: PaymentOptions;
@@ -9,7 +9,7 @@ export interface TransactionCompletedEvent {
9
9
  accountId?: string;
10
10
  transactionId: string;
11
11
  trasactionType?: TRANSACTION_CHARGES_TYPE;
12
- amount: number;
12
+ amount: string;
13
13
  additionalData?: any;
14
14
  usage: Usage;
15
15
  channel: PaymentOptions;
@@ -7,7 +7,7 @@ export interface TransactionDeclinedEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  transactionId: string;
10
- amount: number;
10
+ amount: string;
11
11
  additionalData?: any;
12
12
  usage: Usage;
13
13
  channel: PaymentOptions;
@@ -7,7 +7,7 @@ export interface TransactionFailedEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  transactionId: string;
10
- amount: number;
10
+ amount: string;
11
11
  additionalData?: any;
12
12
  usage: Usage;
13
13
  channel: PaymentOptions;
@@ -7,7 +7,7 @@ export interface TransactionProcessingEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  transactionId: string;
10
- amount: number;
10
+ amount: string;
11
11
  additionalData?: any;
12
12
  usage: Usage;
13
13
  };
@@ -9,7 +9,7 @@ export interface TransactionWebhookEvent {
9
9
  merchantId: string;
10
10
  accountId: string;
11
11
  id: string;
12
- amount: number;
12
+ amount: string;
13
13
  [key: string]: any;
14
14
  };
15
15
  }
@@ -8,8 +8,8 @@ export interface TransferCreatedEvent {
8
8
  id: string;
9
9
  merchantId: string;
10
10
  accountNumber: string;
11
- amount: number;
12
- charges: number;
11
+ amount: string;
12
+ charges: string;
13
13
  status?: Settlement_Status;
14
14
  settlementType: Settlement_TYPES;
15
15
  transactionDate: Date;
@@ -7,8 +7,8 @@ export interface TransferInitiationEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  accountNumber: string;
10
- amount: number;
11
- charges: number;
10
+ amount: string;
11
+ charges: string;
12
12
  settlementType: Settlement_TYPES;
13
13
  transactionDate: Date;
14
14
  currency?: CURRENCY_TYPE;
@@ -7,8 +7,8 @@ export interface TransferSucessEvent {
7
7
  data: {
8
8
  merchantId: string;
9
9
  accountNumber: string;
10
- amount: number;
11
- charges: number;
10
+ amount: string;
11
+ charges: string;
12
12
  currency?: CURRENCY_TYPE;
13
13
  sender: {
14
14
  lastname: string;
@@ -6,7 +6,7 @@ export interface LedgerCreditedEvent {
6
6
  streamEvents: StreamEvent.Event;
7
7
  data: {
8
8
  merchantId: string;
9
- amount: number;
9
+ amount: string;
10
10
  currencyType?: CURRENCY_TYPE;
11
11
  entityId: string;
12
12
  };
@@ -6,7 +6,7 @@ export interface LedgerDebitedEvent {
6
6
  streamEvents: StreamEvent.Event;
7
7
  data: {
8
8
  merchantId: string;
9
- amount: number;
9
+ amount: string;
10
10
  currencyType?: CURRENCY_TYPE;
11
11
  entityId?: string;
12
12
  };
@@ -6,7 +6,7 @@ export interface WalletCreditedEvent {
6
6
  streamEvents: StreamEvent.Event;
7
7
  data: {
8
8
  merchantId: string;
9
- amount: number;
9
+ amount: string;
10
10
  currencyType?: CURRENCY_TYPE;
11
11
  entityId?: string;
12
12
  };
@@ -6,7 +6,7 @@ export interface WalletDebitedEvent {
6
6
  streamEvents: StreamEvent.Event;
7
7
  data: {
8
8
  merchantId: string;
9
- amount: number;
9
+ amount: string;
10
10
  currencyType?: CURRENCY_TYPE;
11
11
  entityId?: string;
12
12
  };
@@ -6,4 +6,4 @@ var ACCOUNT_BALANCE_TYPE;
6
6
  ACCOUNT_BALANCE_TYPE["ledger"] = "ledger";
7
7
  ACCOUNT_BALANCE_TYPE["main"] = "main";
8
8
  })(ACCOUNT_BALANCE_TYPE || (exports.ACCOUNT_BALANCE_TYPE = ACCOUNT_BALANCE_TYPE = {}));
9
- // commit
9
+ // commit changed
@@ -7,3 +7,4 @@ var CARD_ATH_TYPE;
7
7
  CARD_ATH_TYPE["user_3ds"] = "user_3ds";
8
8
  CARD_ATH_TYPE["no_auth"] = "no_auth";
9
9
  })(CARD_ATH_TYPE || (exports.CARD_ATH_TYPE = CARD_ATH_TYPE = {}));
10
+ // --- IGNORE ---
@@ -1,5 +1,6 @@
1
1
  import { PLAN_INTERVAL } from "./plan-types";
2
- export declare const formatDate: (dataString: string | Date) => string;
2
+ export declare const formatDate: (dateInput: string | Date | number, // support more input types
3
+ format?: string, tz?: string) => string;
3
4
  export declare const interswitchRefundDateFormat: (dataString: string) => string;
4
5
  export declare const formatDateTime: (dataString: string) => string;
5
6
  export declare const convertToDate: (date: string) => Date;
@@ -8,11 +8,23 @@ exports.canRefundFromSettlementLedgerByDay = canRefundFromSettlementLedgerByDay;
8
8
  exports.getSettlementDate = getSettlementDate;
9
9
  const dayjs_1 = __importDefault(require("dayjs"));
10
10
  const utc_1 = __importDefault(require("dayjs/plugin/utc"));
11
+ const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
11
12
  // Extend dayjs with the UTC plugin
12
13
  dayjs_1.default.extend(utc_1.default);
14
+ dayjs_1.default.extend(timezone_1.default);
15
+ const DEFAULT_TZ = "Africa/Lagos";
16
+ const DEFAULT_FORMAT = "YYYY-MM-DD";
13
17
  const plan_types_1 = require("./plan-types");
14
- const formatDate = (dataString) => {
15
- return (0, dayjs_1.default)(dataString).format("YYYY-MM-DD");
18
+ const formatDate = (dateInput, // support more input types
19
+ format = DEFAULT_FORMAT, tz = DEFAULT_TZ) => {
20
+ if (!dateInput) {
21
+ return ""; // gracefully handle empty/null
22
+ }
23
+ const parsed = (0, dayjs_1.default)(dateInput);
24
+ if (!parsed.isValid()) {
25
+ throw new Error(`Invalid date: ${dateInput}`); // fail fast in prod
26
+ }
27
+ return parsed.tz(tz).format(format);
16
28
  };
17
29
  exports.formatDate = formatDate;
18
30
  const interswitchRefundDateFormat = (dataString) => {
@@ -42,5 +42,10 @@ export declare const subtractMoney: (a: ReturnType<typeof dinero>, b: ReturnType
42
42
  */
43
43
  export declare const multiplyMoney: (a: ReturnType<typeof dinero>, factor: number) => import("dinero.js").Dinero<number>;
44
44
  export declare const divideMoney: (money: ReturnType<typeof dinero>, divisor: number) => import("dinero.js").Dinero<number>;
45
- export declare const toSmalletUnit: (naira: number | string) => number;
45
+ /**
46
+ * Convert a decimal string or number (₦) to minor units (kobo).
47
+ * Example: "4543.367487363" → 454337n (₦4543.37)
48
+ * Example: 4543.37 → 454337n
49
+ */
50
+ export declare const toSmalletUnit: (value: string | number, exponent?: number) => bigint;
46
51
  export {};
@@ -87,10 +87,16 @@ const divideMoney = (money, divisor) => {
87
87
  return (0, exports.createMoney)(result);
88
88
  };
89
89
  exports.divideMoney = divideMoney;
90
- const toSmalletUnit = (naira) => {
91
- if (typeof naira === "string") {
92
- naira = parseFloat(naira);
93
- }
94
- return Math.round(naira * 100);
90
+ /**
91
+ * Convert a decimal string or number (₦) to minor units (kobo).
92
+ * Example: "4543.367487363" → 454337n (₦4543.37)
93
+ * Example: 4543.37 → 454337n
94
+ */
95
+ const toSmalletUnit = (value, exponent = 2) => {
96
+ const strValue = value.toString();
97
+ const [integer, fraction = ""] = strValue.split(".");
98
+ const paddedFraction = (fraction + "0".repeat(exponent)).slice(0, exponent);
99
+ const minorStr = integer + paddedFraction;
100
+ return BigInt(minorStr);
95
101
  };
96
102
  exports.toSmalletUnit = toSmalletUnit;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //nothing
3
+ // nothing to see here
package/build/listener.js CHANGED
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.startup = exports.AccountCreatedListener = void 0;
16
16
  const nats_cons_1 = __importDefault(require("./nats-cons"));
17
17
  const _1 = require("./");
18
+ //testing nats jetstream with typescript
18
19
  class AccountCreatedListener extends _1.Listener {
19
20
  constructor() {
20
21
  super(...arguments);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konplit-services/common",
3
- "version": "1.6.0",
3
+ "version": "1.7.2",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",