@konplit-services/common 1.1.0 → 1.2.1
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.
- package/build/Schema/CFLESCHEMA.d.ts +171 -0
- package/build/Schema/CFLESCHEMA.js +177 -0
- package/build/app.configs.d.ts +361 -0
- package/build/app.configs.js +943 -0
- package/build/errors/axios-request-error.d.ts +17 -0
- package/build/errors/axios-request-error.js +32 -0
- package/build/errors/bad-request-error.d.ts +17 -0
- package/build/errors/bad-request-error.js +28 -0
- package/build/errors/custom-error.d.ts +15 -0
- package/build/errors/custom-error.js +11 -0
- package/build/errors/database-error.d.ts +17 -0
- package/build/errors/database-error.js +28 -0
- package/build/errors/error.interface.d.ts +4 -0
- package/build/errors/error.interface.js +2 -0
- package/build/errors/forbidden-error.d.ts +17 -0
- package/build/errors/forbidden-error.js +28 -0
- package/build/errors/gateway-error.d.ts +19 -0
- package/build/errors/gateway-error.js +30 -0
- package/build/errors/index.d.ts +13 -0
- package/build/errors/index.js +29 -0
- package/build/errors/invalid-input-error.d.ts +19 -0
- package/build/errors/invalid-input-error.js +31 -0
- package/build/errors/mongoose-validation-error.d.ts +17 -0
- package/build/errors/mongoose-validation-error.js +28 -0
- package/build/errors/not-found.d.ts +17 -0
- package/build/errors/not-found.js +28 -0
- package/build/errors/notAuthorized.d.ts +17 -0
- package/build/errors/notAuthorized.js +28 -0
- package/build/errors/request-validation-error.d.ts +17 -0
- package/build/errors/request-validation-error.js +28 -0
- package/build/errors/service-not-available.d.ts +17 -0
- package/build/errors/service-not-available.js +28 -0
- package/build/errors/toomany-request.errors.d.ts +17 -0
- package/build/errors/toomany-request.errors.js +28 -0
- package/build/events/Settlements-events/interfaces/index.d.ts +14 -0
- package/build/events/Settlements-events/interfaces/index.js +30 -0
- package/build/events/Settlements-events/interfaces/settlement-created.interface.d.ts +20 -0
- package/build/events/Settlements-events/interfaces/settlement-created.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-manual-trigger.interface.d.ts +9 -0
- package/build/events/Settlements-events/interfaces/settlement-manual-trigger.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-pay-merchant-created.interface.d.ts +23 -0
- package/build/events/Settlements-events/interfaces/settlement-pay-merchant-created.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-pay-merchant-nibss-created.interface.d.ts +17 -0
- package/build/events/Settlements-events/interfaces/settlement-pay-merchant-nibss-created.interface.js +3 -0
- package/build/events/Settlements-events/interfaces/settlement-transaction-id-updated.interface.d.ts +12 -0
- package/build/events/Settlements-events/interfaces/settlement-transaction-id-updated.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-transaction-updated.d.ts +15 -0
- package/build/events/Settlements-events/interfaces/settlement-transaction-updated.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-transfer-reserved-nibss.interface.d.ts +17 -0
- package/build/events/Settlements-events/interfaces/settlement-transfer-reserved-nibss.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-transfer-verify-nibss.interface.d.ts +15 -0
- package/build/events/Settlements-events/interfaces/settlement-transfer-verify-nibss.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-transfer-verify.interface.d.ts +13 -0
- package/build/events/Settlements-events/interfaces/settlement-transfer-verify.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-transter-initiation.interface.d.ts +17 -0
- package/build/events/Settlements-events/interfaces/settlement-transter-initiation.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-transter-reserved.interface.d.ts +17 -0
- package/build/events/Settlements-events/interfaces/settlement-transter-reserved.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-transter-wallet.interface.d.ts +14 -0
- package/build/events/Settlements-events/interfaces/settlement-transter-wallet.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-trigger.interface.d.ts +9 -0
- package/build/events/Settlements-events/interfaces/settlement-trigger.interface.js +2 -0
- package/build/events/Settlements-events/interfaces/settlement-updated.interface.d.ts +19 -0
- package/build/events/Settlements-events/interfaces/settlement-updated.interface.js +2 -0
- package/build/events/accounts-events/interfaces/account-created.interface.d.ts +13 -0
- package/build/events/accounts-events/interfaces/account-created.interface.js +2 -0
- package/build/events/accounts-events/interfaces/account-updated.interface.d.ts +13 -0
- package/build/events/accounts-events/interfaces/account-updated.interface.js +2 -0
- package/build/events/accounts-events/interfaces/index.d.ts +6 -0
- package/build/events/accounts-events/interfaces/index.js +22 -0
- package/build/events/accounts-events/interfaces/permission-created.interface.d.ts +12 -0
- package/build/events/accounts-events/interfaces/permission-created.interface.js +2 -0
- package/build/events/accounts-events/interfaces/permission-removed.interface.d.ts +12 -0
- package/build/events/accounts-events/interfaces/permission-removed.interface.js +2 -0
- package/build/events/accounts-events/interfaces/user-created.interface.d.ts +23 -0
- package/build/events/accounts-events/interfaces/user-created.interface.js +2 -0
- package/build/events/accounts-events/interfaces/user-updated.interface.d.ts +23 -0
- package/build/events/accounts-events/interfaces/user-updated.interface.js +2 -0
- package/build/events/base-events/base-event-request.listener.d.ts +59 -0
- package/build/events/base-events/base-event-request.listener.js +56 -0
- package/build/events/base-events/base-event-response-publisher.d.ts +53 -0
- package/build/events/base-events/base-event-response-publisher.js +68 -0
- package/build/events/base-events/base-events.listener.d.ts +112 -0
- package/build/events/base-events/base-events.listener.js +207 -0
- package/build/events/base-events/base-events.publisher.d.ts +84 -0
- package/build/events/base-events/base-events.publisher.js +141 -0
- package/build/events/base-events/event.d.ts +8 -0
- package/build/events/base-events/event.js +8 -0
- package/build/events/base-events/index.d.ts +5 -0
- package/build/events/base-events/index.js +21 -0
- package/build/events/easypay-events/interfaces/index.d.ts +17 -0
- package/build/events/easypay-events/interfaces/index.js +33 -0
- package/build/events/easypay-events/interfaces/insuficient-fund.interface.d.ts +14 -0
- package/build/events/easypay-events/interfaces/insuficient-fund.interface.js +2 -0
- package/build/events/easypay-events/interfaces/recipient-validation-update.interface.d.ts +19 -0
- package/build/events/easypay-events/interfaces/recipient-validation-update.interface.js +2 -0
- package/build/events/easypay-events/interfaces/recipient-validation.interface.d.ts +14 -0
- package/build/events/easypay-events/interfaces/recipient-validation.interface.js +2 -0
- package/build/events/easypay-events/interfaces/recipient-webhook.interface.d.ts +28 -0
- package/build/events/easypay-events/interfaces/recipient-webhook.interface.js +9 -0
- package/build/events/easypay-events/interfaces/release-fund.interface.d.ts +15 -0
- package/build/events/easypay-events/interfaces/release-fund.interface.js +2 -0
- package/build/events/easypay-events/interfaces/reserve-fund-update.interface.d.ts +15 -0
- package/build/events/easypay-events/interfaces/reserve-fund-update.interface.js +2 -0
- package/build/events/easypay-events/interfaces/reserve-fund.interface.d.ts +15 -0
- package/build/events/easypay-events/interfaces/reserve-fund.interface.js +2 -0
- package/build/events/easypay-events/interfaces/scheduled-transfer-completed.interface.d.ts +12 -0
- package/build/events/easypay-events/interfaces/scheduled-transfer-completed.interface.js +2 -0
- package/build/events/easypay-events/interfaces/scheduled-transfer.interface.d.ts +13 -0
- package/build/events/easypay-events/interfaces/scheduled-transfer.interface.js +2 -0
- package/build/events/easypay-events/interfaces/start-batch-transfer-process.interface.d.ts +12 -0
- package/build/events/easypay-events/interfaces/start-batch-transfer-process.interface.js +2 -0
- package/build/events/easypay-events/interfaces/start-transfer-process.interface.d.ts +12 -0
- package/build/events/easypay-events/interfaces/start-transfer-process.interface.js +2 -0
- package/build/events/easypay-events/interfaces/transfer-created.d.ts +14 -0
- package/build/events/easypay-events/interfaces/transfer-created.js +2 -0
- package/build/events/easypay-events/interfaces/transfer-otp-timer-completed.interface.d.ts +12 -0
- package/build/events/easypay-events/interfaces/transfer-otp-timer-completed.interface.js +2 -0
- package/build/events/easypay-events/interfaces/transfer-otp-timer-created.interface.d.ts +13 -0
- package/build/events/easypay-events/interfaces/transfer-otp-timer-created.interface.js +2 -0
- package/build/events/easypay-events/interfaces/transfer-url-completed.interface.d.ts +12 -0
- package/build/events/easypay-events/interfaces/transfer-url-completed.interface.js +2 -0
- package/build/events/easypay-events/interfaces/transfer-url-created.interface.d.ts +14 -0
- package/build/events/easypay-events/interfaces/transfer-url-created.interface.js +2 -0
- package/build/events/easypay-events/interfaces/transfer-webhooks.interface.d.ts +49 -0
- package/build/events/easypay-events/interfaces/transfer-webhooks.interface.js +2 -0
- package/build/events/index.d.ts +21 -0
- package/build/events/index.js +37 -0
- package/build/events/interswitch-events/interfaces/card/card-3ds-auth.interface.d.ts +7 -0
- package/build/events/interswitch-events/interfaces/card/card-3ds-auth.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-auth-request.interface.d.ts +8 -0
- package/build/events/interswitch-events/interfaces/card/card-auth-request.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-payment-initiation.interface.d.ts +28 -0
- package/build/events/interswitch-events/interfaces/card/card-payment-initiation.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-payment-otp-resend.interface.d.ts +9 -0
- package/build/events/interswitch-events/interfaces/card/card-payment-otp-resend.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-recurrent-charge-v2.interface.d.ts +19 -0
- package/build/events/interswitch-events/interfaces/card/card-recurrent-charge-v2.interface.js +3 -0
- package/build/events/interswitch-events/interfaces/card/card-recurrent-charge.interface.d.ts +17 -0
- package/build/events/interswitch-events/interfaces/card/card-recurrent-charge.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-tokenize-v2-response.interface.d.ts +17 -0
- package/build/events/interswitch-events/interfaces/card/card-tokenize-v2-response.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-tokenize-v2.interface.d.ts +11 -0
- package/build/events/interswitch-events/interfaces/card/card-tokenize-v2.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-tokenize.interface.d.ts +8 -0
- package/build/events/interswitch-events/interfaces/card/card-tokenize.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/card-transaction-status.interface.d.ts +9 -0
- package/build/events/interswitch-events/interfaces/card/card-transaction-status.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/card/index.d.ts +10 -0
- package/build/events/interswitch-events/interfaces/card/index.js +26 -0
- package/build/events/interswitch-events/interfaces/index.d.ts +2 -0
- package/build/events/interswitch-events/interfaces/index.js +18 -0
- package/build/events/interswitch-events/interfaces/ussd/index.d.ts +2 -0
- package/build/events/interswitch-events/interfaces/ussd/index.js +18 -0
- package/build/events/interswitch-events/interfaces/ussd/ussd-payment-initiation.interface.d.ts +16 -0
- package/build/events/interswitch-events/interfaces/ussd/ussd-payment-initiation.interface.js +2 -0
- package/build/events/interswitch-events/interfaces/ussd/ussd-transaction-status.interface.d.ts +11 -0
- package/build/events/interswitch-events/interfaces/ussd/ussd-transaction-status.interface.js +2 -0
- package/build/events/invoices-events/interfaces/index.d.ts +4 -0
- package/build/events/invoices-events/interfaces/index.js +20 -0
- package/build/events/invoices-events/interfaces/invoice-delay-notification-completed.interface.d.ts +12 -0
- package/build/events/invoices-events/interfaces/invoice-delay-notification-completed.interface.js +2 -0
- package/build/events/invoices-events/interfaces/invoice-delay-notification.interface.d.ts +13 -0
- package/build/events/invoices-events/interfaces/invoice-delay-notification.interface.js +2 -0
- package/build/events/invoices-events/interfaces/invoice-notification.interface.d.ts +47 -0
- package/build/events/invoices-events/interfaces/invoice-notification.interface.js +2 -0
- package/build/events/invoices-events/interfaces/invoice-payment-created.interface.d.ts +15 -0
- package/build/events/invoices-events/interfaces/invoice-payment-created.interface.js +2 -0
- package/build/events/kore-events/interfaces/card-expiry-created.interface.d.ts +10 -0
- package/build/events/kore-events/interfaces/card-expiry-created.interface.js +2 -0
- package/build/events/kore-events/interfaces/customer-created.interface.d.ts +21 -0
- package/build/events/kore-events/interfaces/customer-created.interface.js +2 -0
- package/build/events/kore-events/interfaces/customer-updated.interface.d.ts +21 -0
- package/build/events/kore-events/interfaces/customer-updated.interface.js +2 -0
- package/build/events/kore-events/interfaces/index.d.ts +15 -0
- package/build/events/kore-events/interfaces/index.js +31 -0
- package/build/events/kore-events/interfaces/mandate-created.interface.d.ts +20 -0
- package/build/events/kore-events/interfaces/mandate-created.interface.js +2 -0
- package/build/events/kore-events/interfaces/plan-cancelled.interface.d.ts +11 -0
- package/build/events/kore-events/interfaces/plan-cancelled.interface.js +2 -0
- package/build/events/kore-events/interfaces/subscription-cancelled.interface.d.ts +13 -0
- package/build/events/kore-events/interfaces/subscription-cancelled.interface.js +2 -0
- package/build/events/kore-events/interfaces/subscription-created.interface.d.ts +19 -0
- package/build/events/kore-events/interfaces/subscription-created.interface.js +2 -0
- package/build/events/kore-events/interfaces/subscription-next.d.ts +19 -0
- package/build/events/kore-events/interfaces/subscription-next.js +2 -0
- package/build/events/kore-events/interfaces/subscription-reminder-cancelled-interface.d.ts +13 -0
- package/build/events/kore-events/interfaces/subscription-reminder-cancelled-interface.js +2 -0
- package/build/events/kore-events/interfaces/subscription-reminder-next.d.ts +19 -0
- package/build/events/kore-events/interfaces/subscription-reminder-next.js +2 -0
- package/build/events/kore-events/interfaces/subscription-reminder-updated.interface.d.ts +16 -0
- package/build/events/kore-events/interfaces/subscription-reminder-updated.interface.js +2 -0
- package/build/events/kore-events/interfaces/subscription-reminder.interface.d.ts +19 -0
- package/build/events/kore-events/interfaces/subscription-reminder.interface.js +2 -0
- package/build/events/kore-events/interfaces/subscription-updated.interface.d.ts +20 -0
- package/build/events/kore-events/interfaces/subscription-updated.interface.js +2 -0
- package/build/events/kore-events/interfaces/temp-token-created.interface.d.ts +19 -0
- package/build/events/kore-events/interfaces/temp-token-created.interface.js +2 -0
- package/build/events/kore-events/interfaces/temp-token-updated.interface.d.ts +7 -0
- package/build/events/kore-events/interfaces/temp-token-updated.interface.js +2 -0
- package/build/events/logs-events/interfaces/admins-logs.created.interface.d.ts +15 -0
- package/build/events/logs-events/interfaces/admins-logs.created.interface.js +2 -0
- package/build/events/logs-events/interfaces/index.d.ts +2 -0
- package/build/events/logs-events/interfaces/index.js +18 -0
- package/build/events/logs-events/interfaces/merchants-logs-created.interface.d.ts +15 -0
- package/build/events/logs-events/interfaces/merchants-logs-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/api-config-created.interface.d.ts +19 -0
- package/build/events/merchants-events/interfaces/api-config-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/api-config.updated.interface.d.ts +19 -0
- package/build/events/merchants-events/interfaces/api-config.updated.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bank-account-created.interface.d.ts +25 -0
- package/build/events/merchants-events/interfaces/bank-account-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bank-account-deleted.interface.d.ts +12 -0
- package/build/events/merchants-events/interfaces/bank-account-deleted.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bank-account-name-verify.interface.d.ts +8 -0
- package/build/events/merchants-events/interfaces/bank-account-name-verify.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bank-account-updated.interface.d.ts +25 -0
- package/build/events/merchants-events/interfaces/bank-account-updated.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bank-account-verify-update.interface.d.ts +20 -0
- package/build/events/merchants-events/interfaces/bank-account-verify-update.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bank-account-verify.interface.d.ts +19 -0
- package/build/events/merchants-events/interfaces/bank-account-verify.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bank-list-created.interface.d.ts +5 -0
- package/build/events/merchants-events/interfaces/bank-list-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/business-created.interface.d.ts +23 -0
- package/build/events/merchants-events/interfaces/business-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/business-updated.interface.d.ts +23 -0
- package/build/events/merchants-events/interfaces/business-updated.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bvn-validation-created.interface.d.ts +18 -0
- package/build/events/merchants-events/interfaces/bvn-validation-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/bvn-validation-updated.interface.d.ts +15 -0
- package/build/events/merchants-events/interfaces/bvn-validation-updated.interface.js +2 -0
- package/build/events/merchants-events/interfaces/default-charge-created.interface.d.ts +22 -0
- package/build/events/merchants-events/interfaces/default-charge-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/default-charge-updated.interface.d.ts +22 -0
- package/build/events/merchants-events/interfaces/default-charge-updated.interface.js +2 -0
- package/build/events/merchants-events/interfaces/index.d.ts +23 -0
- package/build/events/merchants-events/interfaces/index.js +43 -0
- package/build/events/merchants-events/interfaces/key-update-timer-complete.interface.d.ts +12 -0
- package/build/events/merchants-events/interfaces/key-update-timer-complete.interface.js +2 -0
- package/build/events/merchants-events/interfaces/keys-update-timer.interface.d.ts +15 -0
- package/build/events/merchants-events/interfaces/keys-update-timer.interface.js +2 -0
- package/build/events/merchants-events/interfaces/nibss-bank-name.verify.interface.d.ts +8 -0
- package/build/events/merchants-events/interfaces/nibss-bank-name.verify.interface.js +2 -0
- package/build/events/merchants-events/interfaces/setting-created.interface.d.ts +21 -0
- package/build/events/merchants-events/interfaces/setting-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/setting-updated.interface.d.ts +21 -0
- package/build/events/merchants-events/interfaces/setting-updated.interface.js +2 -0
- package/build/events/merchants-events/interfaces/subaccount-created.interface.d.ts +25 -0
- package/build/events/merchants-events/interfaces/subaccount-created.interface.js +2 -0
- package/build/events/merchants-events/interfaces/subaccount-deleted.interface.d.ts +14 -0
- package/build/events/merchants-events/interfaces/subaccount-deleted.interface.js +2 -0
- package/build/events/merchants-events/interfaces/subaccount-updated.interface.d.ts +25 -0
- package/build/events/merchants-events/interfaces/subaccount-updated.interface.js +2 -0
- package/build/events/mono-events/interfaces/index.d.ts +1 -0
- package/build/events/mono-events/interfaces/index.js +17 -0
- package/build/events/mono-events/interfaces/mono-created.interface.d.ts +21 -0
- package/build/events/mono-events/interfaces/mono-created.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/admin-account-created-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/admin-account-created-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/cust-trans-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/cust-trans-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/customer-welcome-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/customer-welcome-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/email-verification-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/email-verification-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/index.d.ts +20 -0
- package/build/events/notification-events/interfaces/emails/index.js +36 -0
- package/build/events/notification-events/interfaces/emails/invoice-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/invoice-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/invoice-receipt-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/invoice-receipt-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/merchant-password-update-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/merchant-password-update-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/merchant-trans-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/merchant-trans-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/merchant-user-invitation-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/merchant-user-invitation-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/merchant-welcome-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/merchant-welcome-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/new-sub-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/new-sub-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/password-change-request-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/password-change-request-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/password-reset-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/password-reset-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/pending-payment-request-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/pending-payment-request-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/pre-charge-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/pre-charge-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/sub-cancel-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/sub-cancel-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/sub-charge-receipt-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/sub-charge-receipt-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/sub-payment-fail-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/sub-payment-fail-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/token-verification-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/token-verification-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/emails/two2factor-auth-notify.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/emails/two2factor-auth-notify.interface.js +2 -0
- package/build/events/notification-events/interfaces/index.d.ts +3 -0
- package/build/events/notification-events/interfaces/index.js +19 -0
- package/build/events/notification-events/interfaces/mailersend.interface.d.ts +18 -0
- package/build/events/notification-events/interfaces/mailersend.interface.js +2 -0
- package/build/events/notification-events/interfaces/termii-sms.interface.d.ts +8 -0
- package/build/events/notification-events/interfaces/termii-sms.interface.js +2 -0
- package/build/events/opay-events/interfaces/cachier-create-event-interface.d.ts +20 -0
- package/build/events/opay-events/interfaces/cachier-create-event-interface.js +2 -0
- package/build/events/opay-events/interfaces/index.d.ts +1 -0
- package/build/events/opay-events/interfaces/index.js +17 -0
- package/build/events/payments-events/interfaces/index.d.ts +0 -0
- package/build/events/payments-events/interfaces/index.js +1 -0
- package/build/events/publisher/admin-log.publisher.d.ts +8 -0
- package/build/events/publisher/admin-log.publisher.js +14 -0
- package/build/events/publisher/email.publisher.d.ts +8 -0
- package/build/events/publisher/email.publisher.js +14 -0
- package/build/events/publisher/merchant-log.publisher.d.ts +8 -0
- package/build/events/publisher/merchant-log.publisher.js +14 -0
- package/build/events/publisher/sms.publisher.d.ts +8 -0
- package/build/events/publisher/sms.publisher.js +14 -0
- package/build/events/qrpayments-events/interfaces/get-nibss-institutions.interface.d.ts +5 -0
- package/build/events/qrpayments-events/interfaces/get-nibss-institutions.interface.js +2 -0
- package/build/events/qrpayments-events/interfaces/index.d.ts +6 -0
- package/build/events/qrpayments-events/interfaces/index.js +22 -0
- package/build/events/qrpayments-events/interfaces/qr-dynamic-code-cancelled.interface.d.ts +10 -0
- package/build/events/qrpayments-events/interfaces/qr-dynamic-code-cancelled.interface.js +2 -0
- package/build/events/qrpayments-events/interfaces/qr-dynamic-code-created.interface.d.ts +14 -0
- package/build/events/qrpayments-events/interfaces/qr-dynamic-code-created.interface.js +2 -0
- package/build/events/qrpayments-events/interfaces/qr-query-order-status.interfce.d.ts +10 -0
- package/build/events/qrpayments-events/interfaces/qr-query-order-status.interfce.js +2 -0
- package/build/events/qrpayments-events/interfaces/qr-query-status-delay-coplete.interface.d.ts +11 -0
- package/build/events/qrpayments-events/interfaces/qr-query-status-delay-coplete.interface.js +2 -0
- package/build/events/qrpayments-events/interfaces/qr-query-status-delay.interface.d.ts +12 -0
- package/build/events/qrpayments-events/interfaces/qr-query-status-delay.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/index.d.ts +18 -0
- package/build/events/refund-events/inteterfaces/index.js +34 -0
- package/build/events/refund-events/inteterfaces/refund-bank-status-check.interface.d.ts +24 -0
- package/build/events/refund-events/inteterfaces/refund-bank-status-check.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-bank-transfer.interface.d.ts +30 -0
- package/build/events/refund-events/inteterfaces/refund-bank-transfer.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-card-payment.interface.d.ts +19 -0
- package/build/events/refund-events/inteterfaces/refund-card-payment.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-card-status-check.interface.d.ts +21 -0
- package/build/events/refund-events/inteterfaces/refund-card-status-check.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-completed.interface.d.ts +14 -0
- package/build/events/refund-events/inteterfaces/refund-completed.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-failed.interface.d.ts +20 -0
- package/build/events/refund-events/inteterfaces/refund-failed.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-init-fund-reserve-res.interface.d.ts +20 -0
- package/build/events/refund-events/inteterfaces/refund-init-fund-reserve-res.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-init-fund-reserve.interface.d.ts +19 -0
- package/build/events/refund-events/inteterfaces/refund-init-fund-reserve.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-reverse-fund.interface.d.ts +16 -0
- package/build/events/refund-events/inteterfaces/refund-reverse-fund.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-created.interface.d.ts +20 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-created.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-insufficient.interface.d.ts +17 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-insufficient.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-notfound.interface.d.ts +19 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-notfound.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-release.interface.d.ts +20 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-release.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reserve-fund.interface.d.ts +18 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reserve-fund.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reserve-res.interface.d.ts +20 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reserve-res.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reverse.interface.d.ts +18 -0
- package/build/events/refund-events/inteterfaces/refund-settlement-ledger-reverse.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-ussd-payment.interface.d.ts +19 -0
- package/build/events/refund-events/inteterfaces/refund-ussd-payment.interface.js +2 -0
- package/build/events/refund-events/inteterfaces/refund-ussd-status-check.interface.d.ts +21 -0
- package/build/events/refund-events/inteterfaces/refund-ussd-status-check.interface.js +2 -0
- package/build/events/revenue-events/interfaces/index.d.ts +2 -0
- package/build/events/revenue-events/interfaces/index.js +18 -0
- package/build/events/revenue-events/interfaces/revenue-created.interface.d.ts +15 -0
- package/build/events/revenue-events/interfaces/revenue-created.interface.js +2 -0
- package/build/events/revenue-events/interfaces/revenue-updated.interface.d.ts +13 -0
- package/build/events/revenue-events/interfaces/revenue-updated.interface.js +2 -0
- package/build/events/subjects.d.ts +190 -0
- package/build/events/subjects.js +235 -0
- package/build/events/transaction-events/interfaces/expiry-delay-timer.interface.d.ts +12 -0
- package/build/events/transaction-events/interfaces/expiry-delay-timer.interface.js +2 -0
- package/build/events/transaction-events/interfaces/expiry-delay-timer.update.interface.d.ts +11 -0
- package/build/events/transaction-events/interfaces/expiry-delay-timer.update.interface.js +2 -0
- package/build/events/transaction-events/interfaces/index.d.ts +11 -0
- package/build/events/transaction-events/interfaces/index.js +27 -0
- package/build/events/transaction-events/interfaces/reset-daily-amount-trigger.interface.d.ts +9 -0
- package/build/events/transaction-events/interfaces/reset-daily-amount-trigger.interface.js +2 -0
- package/build/events/transaction-events/interfaces/total-amount-triger-update.interface.d.ts +9 -0
- package/build/events/transaction-events/interfaces/total-amount-triger-update.interface.js +2 -0
- package/build/events/transaction-events/interfaces/transaction-aborted.interface.d.ts +15 -0
- package/build/events/transaction-events/interfaces/transaction-aborted.interface.js +2 -0
- package/build/events/transaction-events/interfaces/transaction-cancelled.interface.d.ts +15 -0
- package/build/events/transaction-events/interfaces/transaction-cancelled.interface.js +2 -0
- package/build/events/transaction-events/interfaces/transaction-completed.interface.d.ts +18 -0
- package/build/events/transaction-events/interfaces/transaction-completed.interface.js +2 -0
- package/build/events/transaction-events/interfaces/transaction-declined.interface.d.ts +15 -0
- package/build/events/transaction-events/interfaces/transaction-declined.interface.js +2 -0
- package/build/events/transaction-events/interfaces/transaction-failed.interface.d.ts +15 -0
- package/build/events/transaction-events/interfaces/transaction-failed.interface.js +2 -0
- package/build/events/transaction-events/interfaces/transaction-processing.interface.d.ts +14 -0
- package/build/events/transaction-events/interfaces/transaction-processing.interface.js +2 -0
- package/build/events/transaction-events/interfaces/transaction-webhook.interface.d.ts +15 -0
- package/build/events/transaction-events/interfaces/transaction-webhook.interface.js +2 -0
- package/build/events/transfers-events/interfaces/index.d.ts +5 -0
- package/build/events/transfers-events/interfaces/index.js +21 -0
- package/build/events/transfers-events/interfaces/transfer-created.interface.d.ts +19 -0
- package/build/events/transfers-events/interfaces/transfer-created.interface.js +2 -0
- package/build/events/transfers-events/interfaces/transfer-failed.interface.d.ts +9 -0
- package/build/events/transfers-events/interfaces/transfer-failed.interface.js +2 -0
- package/build/events/transfers-events/interfaces/transfer-fund-reserved-updated.d.ts +15 -0
- package/build/events/transfers-events/interfaces/transfer-fund-reserved-updated.js +2 -0
- package/build/events/transfers-events/interfaces/transfer-initiation.interface.d.ts +16 -0
- package/build/events/transfers-events/interfaces/transfer-initiation.interface.js +2 -0
- package/build/events/transfers-events/interfaces/transfer-success.interface.d.ts +20 -0
- package/build/events/transfers-events/interfaces/transfer-success.interface.js +2 -0
- package/build/events/types/index.d.ts +1 -0
- package/build/events/types/index.js +17 -0
- package/build/events/types/order-statu.types.d.ts +22 -0
- package/build/events/types/order-statu.types.js +26 -0
- package/build/events/virtual-account-events/interfaces/index.d.ts +3 -0
- package/build/events/virtual-account-events/interfaces/index.js +19 -0
- package/build/events/virtual-account-events/interfaces/virtual-customer-bankaccount.interface.d.ts +12 -0
- package/build/events/virtual-account-events/interfaces/virtual-customer-bankaccount.interface.js +2 -0
- package/build/events/virtual-account-events/interfaces/virtual-dynamic-account.interface.d.ts +30 -0
- package/build/events/virtual-account-events/interfaces/virtual-dynamic-account.interface.js +2 -0
- package/build/events/virtual-account-events/interfaces/virtual-fixed-account.interface.d.ts +32 -0
- package/build/events/virtual-account-events/interfaces/virtual-fixed-account.interface.js +2 -0
- package/build/events/wallets/interfaces/index.d.ts +5 -0
- package/build/events/wallets/interfaces/index.js +21 -0
- package/build/events/wallets/interfaces/ledger-credited.interface.d.ts +13 -0
- package/build/events/wallets/interfaces/ledger-credited.interface.js +2 -0
- package/build/events/wallets/interfaces/ledger-debited.interface.d.ts +13 -0
- package/build/events/wallets/interfaces/ledger-debited.interface.js +2 -0
- package/build/events/wallets/interfaces/wallet-created.interface.d.ts +12 -0
- package/build/events/wallets/interfaces/wallet-created.interface.js +2 -0
- package/build/events/wallets/interfaces/wallet-credited.interface.d.ts +13 -0
- package/build/events/wallets/interfaces/wallet-credited.interface.js +2 -0
- package/build/events/wallets/interfaces/wallet-debited.interface.d.ts +13 -0
- package/build/events/wallets/interfaces/wallet-debited.interface.js +2 -0
- package/build/helper/Two-fa-type.d.ts +7 -0
- package/build/helper/Two-fa-type.js +11 -0
- package/build/helper/account-balance-types.d.ts +4 -0
- package/build/helper/account-balance-types.js +9 -0
- package/build/helper/account-status.d.ts +4 -0
- package/build/helper/account-status.js +8 -0
- package/build/helper/api-config-types.d.ts +12 -0
- package/build/helper/api-config-types.js +13 -0
- package/build/helper/bank-account-types.d.ts +4 -0
- package/build/helper/bank-account-types.js +8 -0
- package/build/helper/bank-code.d.ts +1 -0
- package/build/helper/bank-code.js +16 -0
- package/build/helper/business-category.d.ts +16 -0
- package/build/helper/business-category.js +21 -0
- package/build/helper/business-types.d.ts +22 -0
- package/build/helper/business-types.js +16 -0
- package/build/helper/bvn-validation-type.d.ts +4 -0
- package/build/helper/bvn-validation-type.js +8 -0
- package/build/helper/card-types.d.ts +14 -0
- package/build/helper/card-types.js +53 -0
- package/build/helper/card-validate.d.ts +6 -0
- package/build/helper/card-validate.js +29 -0
- package/build/helper/card_auth_type.d.ts +5 -0
- package/build/helper/card_auth_type.js +9 -0
- package/build/helper/charges.d.ts +31 -0
- package/build/helper/charges.js +25 -0
- package/build/helper/currency-formater.d.ts +2 -0
- package/build/helper/currency-formater.js +14 -0
- package/build/helper/currency-types.d.ts +4 -0
- package/build/helper/currency-types.js +8 -0
- package/build/helper/custom-paginate.d.ts +52 -0
- package/build/helper/custom-paginate.js +125 -0
- package/build/helper/date-processing.d.ts +45 -0
- package/build/helper/date-processing.js +184 -0
- package/build/helper/default-charges-types.d.ts +0 -0
- package/build/helper/default-charges-types.js +1 -0
- package/build/helper/disputes.d.ts +15 -0
- package/build/helper/disputes.js +20 -0
- package/build/helper/encryptions.d.ts +58 -0
- package/build/helper/encryptions.js +121 -0
- package/build/helper/errorCodes/error-codes.d.ts +154 -0
- package/build/helper/errorCodes/error-codes.js +162 -0
- package/build/helper/extract-card-details.d.ts +4 -0
- package/build/helper/extract-card-details.js +20 -0
- package/build/helper/generate-query-params.d.ts +5 -0
- package/build/helper/generate-query-params.js +18 -0
- package/build/helper/index.d.ts +54 -0
- package/build/helper/index.js +71 -0
- package/build/helper/invoice.d.ts +16 -0
- package/build/helper/invoice.js +23 -0
- package/build/helper/keys.d.ts +96 -0
- package/build/helper/keys.js +228 -0
- package/build/helper/lang/email.d.ts +13 -0
- package/build/helper/lang/email.js +20 -0
- package/build/helper/lang/error-text.d.ts +32 -0
- package/build/helper/lang/error-text.js +35 -0
- package/build/helper/lang/index.d.ts +3 -0
- package/build/helper/lang/index.js +19 -0
- package/build/helper/lang/language.d.ts +133 -0
- package/build/helper/lang/language.js +169 -0
- package/build/helper/last-three.d.ts +1 -0
- package/build/helper/last-three.js +8 -0
- package/build/helper/location.d.ts +2 -0
- package/build/helper/location.js +20 -0
- package/build/helper/media-types.d.ts +6 -0
- package/build/helper/media-types.js +10 -0
- package/build/helper/money.d.ts +46 -0
- package/build/helper/money.js +96 -0
- package/build/helper/nibss-scopes.d.ts +9 -0
- package/build/helper/nibss-scopes.js +13 -0
- package/build/helper/payment-options.d.ts +12 -0
- package/build/helper/payment-options.js +17 -0
- package/build/helper/permistions.d.ts +136 -0
- package/build/helper/permistions.js +146 -0
- package/build/helper/plan-types.d.ts +9 -0
- package/build/helper/plan-types.js +13 -0
- package/build/helper/query/query-option.d.ts +22 -0
- package/build/helper/query/query-option.js +40 -0
- package/build/helper/refund.d.ts +34 -0
- package/build/helper/refund.js +46 -0
- package/build/helper/remove-query-properties.d.ts +1 -0
- package/build/helper/remove-query-properties.js +20 -0
- package/build/helper/roles.d.ts +32 -0
- package/build/helper/roles.js +38 -0
- package/build/helper/settings-types.d.ts +68 -0
- package/build/helper/settings-types.js +29 -0
- package/build/helper/settlement.d.ts +20 -0
- package/build/helper/settlement.js +28 -0
- package/build/helper/status.d.ts +21 -0
- package/build/helper/status.js +26 -0
- package/build/helper/subaccount.d.ts +4 -0
- package/build/helper/subaccount.js +8 -0
- package/build/helper/subscription-cron-expression.d.ts +16 -0
- package/build/helper/subscription-cron-expression.js +143 -0
- package/build/helper/subscriptions-types.d.ts +19 -0
- package/build/helper/subscriptions-types.js +25 -0
- package/build/helper/success-response.d.ts +9 -0
- package/build/helper/success-response.js +13 -0
- package/build/helper/timestamp.d.ts +17 -0
- package/build/helper/timestamp.js +53 -0
- package/build/helper/transaction-authentication-type.d.ts +5 -0
- package/build/helper/transaction-authentication-type.js +9 -0
- package/build/helper/transaction-type.d.ts +29 -0
- package/build/helper/transaction-type.js +36 -0
- package/build/helper/transfer.d.ts +14 -0
- package/build/helper/transfer.js +18 -0
- package/build/helper/user-types.d.ts +4 -0
- package/build/helper/user-types.js +8 -0
- package/build/helper/ussd.d.ts +1 -0
- package/build/helper/ussd.js +20 -0
- package/build/helper/util/gender.d.ts +4 -0
- package/build/helper/util/gender.js +8 -0
- package/build/helper/util/get-transaction-id.d.ts +9 -0
- package/build/helper/util/get-transaction-id.js +17 -0
- package/build/helper/util/getobject-keys.d.ts +10 -0
- package/build/helper/util/getobject-keys.js +31 -0
- package/build/helper/util/index.d.ts +6 -0
- package/build/helper/util/index.js +22 -0
- package/build/helper/util/pagination.d.ts +25 -0
- package/build/helper/util/pagination.js +19 -0
- package/build/helper/util/remove-transactionId.d.ts +14 -0
- package/build/helper/util/remove-transactionId.js +16 -0
- package/build/helper/util/sort-by.d.ts +8 -0
- package/build/helper/util/sort-by.js +11 -0
- package/build/helper/validateParams.d.ts +7 -0
- package/build/helper/validateParams.js +13 -0
- package/build/helper/wallet-transaction.types.d.ts +17 -0
- package/build/helper/wallet-transaction.types.js +23 -0
- package/build/helper/worker-task-types.d.ts +8 -0
- package/build/helper/worker-task-types.js +12 -0
- package/build/index.d.ts +14 -0
- package/build/index.js +44 -0
- package/build/interfact.d.ts +9 -0
- package/build/interfact.js +3 -0
- package/build/listener.d.ts +12 -0
- package/build/listener.js +60 -0
- package/build/log-activities/actions.d.ts +72 -0
- package/build/log-activities/actions.js +105 -0
- package/build/middlewares/check-inputs.d.ts +2 -0
- package/build/middlewares/check-inputs.js +24 -0
- package/build/middlewares/current-user.d.ts +10 -0
- package/build/middlewares/current-user.js +56 -0
- package/build/middlewares/error-handler.d.ts +3 -0
- package/build/middlewares/error-handler.js +62 -0
- package/build/middlewares/index.d.ts +11 -0
- package/build/middlewares/index.js +27 -0
- package/build/middlewares/mono-webhook.d.ts +2 -0
- package/build/middlewares/mono-webhook.js +14 -0
- package/build/middlewares/permission.d.ts +11 -0
- package/build/middlewares/permission.js +47 -0
- package/build/middlewares/rate-limit.d.ts +2 -0
- package/build/middlewares/rate-limit.js +39 -0
- package/build/middlewares/request-log.d.ts +3 -0
- package/build/middlewares/request-log.js +35 -0
- package/build/middlewares/require-auth.d.ts +2 -0
- package/build/middlewares/require-auth.js +13 -0
- package/build/middlewares/transaction-session.d.ts +10 -0
- package/build/middlewares/transaction-session.js +36 -0
- package/build/middlewares/validate-fields.d.ts +2 -0
- package/build/middlewares/validate-fields.js +44 -0
- package/build/middlewares/validate-request.d.ts +2 -0
- package/build/middlewares/validate-request.js +13 -0
- package/build/nats-cons.d.ts +12 -0
- package/build/nats-cons.js +54 -0
- package/build/notification/email/index.d.ts +2 -0
- package/build/notification/email/index.js +18 -0
- package/build/notification/email/send.d.ts +25 -0
- package/build/notification/email/send.js +56 -0
- package/build/notification/email/types.d.ts +22 -0
- package/build/notification/email/types.js +26 -0
- package/build/notification/index.d.ts +4 -0
- package/build/notification/index.js +20 -0
- package/build/notification/interfaces.d.ts +183 -0
- package/build/notification/interfaces.js +2 -0
- package/build/notification/sms/constants.d.ts +8 -0
- package/build/notification/sms/constants.js +15 -0
- package/build/notification/sms/index.d.ts +2 -0
- package/build/notification/sms/index.js +18 -0
- package/build/notification/sms/send.d.ts +16 -0
- package/build/notification/sms/send.js +39 -0
- package/build/notification/types.d.ts +14 -0
- package/build/notification/types.js +19 -0
- package/build/publisher.d.ts +8 -0
- package/build/publisher.js +47 -0
- package/build/redis/base/index.d.ts +13 -0
- package/build/redis/base/index.js +104 -0
- package/build/redis/constants/index.d.ts +11 -0
- package/build/redis/constants/index.js +24 -0
- package/build/redis/index.d.ts +2 -0
- package/build/redis/index.js +18 -0
- package/build/repository/index.d.ts +2 -0
- package/build/repository/index.js +18 -0
- package/build/repository/interface/baseRepository.d.ts +9 -0
- package/build/repository/interface/baseRepository.js +8 -0
- package/build/repository/interface/based.d.ts +10 -0
- package/build/repository/interface/based.js +2 -0
- package/build/services/Jwt.d.ts +44 -0
- package/build/services/Jwt.js +77 -0
- package/build/services/base.service.d.ts +34 -0
- package/build/services/base.service.js +124 -0
- package/build/services/index.d.ts +2 -0
- package/build/services/index.js +18 -0
- package/build/swagger/config.d.ts +2 -0
- package/build/swagger/config.js +64 -0
- package/build/swagger/routes/logs.d.ts +130 -0
- package/build/swagger/routes/logs.js +131 -0
- package/build/util/format-phoneNumber.d.ts +1 -0
- package/build/util/format-phoneNumber.js +18 -0
- package/build/util/generate-id.d.ts +8 -0
- package/build/util/generate-id.js +16 -0
- package/build/util/index.d.ts +5 -0
- package/build/util/index.js +21 -0
- package/build/util/jwt.validation.d.ts +1 -0
- package/build/util/jwt.validation.js +28 -0
- package/build/util/lib/nats/nat-error-codes.d.ts +4 -0
- package/build/util/lib/nats/nat-error-codes.js +7 -0
- package/build/util/metrics.d.ts +2 -0
- package/build/util/metrics.js +43 -0
- package/build/util/parse-query-string.d.ts +4 -0
- package/build/util/parse-query-string.js +22 -0
- package/package.json +2 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Publisher Module
|
|
3
|
+
*
|
|
4
|
+
* This module defines an abstract `Publisher` class for publishing events to a NATS JetStream.
|
|
5
|
+
* It ensures that the required stream exists before publishing events.
|
|
6
|
+
*
|
|
7
|
+
* @module Publisher
|
|
8
|
+
*/
|
|
9
|
+
import { NatsConnection } from "nats";
|
|
10
|
+
/**
|
|
11
|
+
* Event Interface
|
|
12
|
+
*
|
|
13
|
+
* Represents an event that will be published to a NATS stream.
|
|
14
|
+
*
|
|
15
|
+
* @interface
|
|
16
|
+
*/
|
|
17
|
+
interface Event {
|
|
18
|
+
subject: string;
|
|
19
|
+
data: any;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Publisher Abstract Class
|
|
23
|
+
*
|
|
24
|
+
* Abstract class for publishing events to a NATS JetStream.
|
|
25
|
+
* Subclasses should implement the specific subject, streamEvents, and stream properties.
|
|
26
|
+
*
|
|
27
|
+
* @abstract
|
|
28
|
+
* @template T - The type of event to be published
|
|
29
|
+
*/
|
|
30
|
+
export declare abstract class ResponsePublisher<T extends Event> {
|
|
31
|
+
private nc;
|
|
32
|
+
protected jc: import("nats").Codec<unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* The subject associated with the event.
|
|
35
|
+
* @abstract
|
|
36
|
+
*/
|
|
37
|
+
abstract subject: T["subject"];
|
|
38
|
+
/**
|
|
39
|
+
* Constructor for the Publisher class.
|
|
40
|
+
*
|
|
41
|
+
* @param {JetStreamClient} client - The NATS JetStream client
|
|
42
|
+
*/
|
|
43
|
+
constructor(nc: NatsConnection);
|
|
44
|
+
/**
|
|
45
|
+
* Sends a request to another service and waits for a reply.
|
|
46
|
+
*
|
|
47
|
+
* @param {T["data"]} data - The data to be sent in the request
|
|
48
|
+
* @param {number} timeout - The timeout duration to wait for a response
|
|
49
|
+
* @returns {Promise<any>} - Resolves with the reply data from the responding service
|
|
50
|
+
*/
|
|
51
|
+
request(data: T["data"], timeout?: number): Promise<any>;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Publisher Module
|
|
4
|
+
*
|
|
5
|
+
* This module defines an abstract `Publisher` class for publishing events to a NATS JetStream.
|
|
6
|
+
* It ensures that the required stream exists before publishing events.
|
|
7
|
+
*
|
|
8
|
+
* @module Publisher
|
|
9
|
+
*/
|
|
10
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.ResponsePublisher = void 0;
|
|
21
|
+
const nats_1 = require("nats");
|
|
22
|
+
/**
|
|
23
|
+
* Publisher Abstract Class
|
|
24
|
+
*
|
|
25
|
+
* Abstract class for publishing events to a NATS JetStream.
|
|
26
|
+
* Subclasses should implement the specific subject, streamEvents, and stream properties.
|
|
27
|
+
*
|
|
28
|
+
* @abstract
|
|
29
|
+
* @template T - The type of event to be published
|
|
30
|
+
*/
|
|
31
|
+
class ResponsePublisher {
|
|
32
|
+
/**
|
|
33
|
+
* Constructor for the Publisher class.
|
|
34
|
+
*
|
|
35
|
+
* @param {JetStreamClient} client - The NATS JetStream client
|
|
36
|
+
*/
|
|
37
|
+
constructor(nc) {
|
|
38
|
+
this.jc = (0, nats_1.JSONCodec)();
|
|
39
|
+
this.nc = nc;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Sends a request to another service and waits for a reply.
|
|
43
|
+
*
|
|
44
|
+
* @param {T["data"]} data - The data to be sent in the request
|
|
45
|
+
* @param {number} timeout - The timeout duration to wait for a response
|
|
46
|
+
* @returns {Promise<any>} - Resolves with the reply data from the responding service
|
|
47
|
+
*/
|
|
48
|
+
request(data, timeout = 1000 * 60 * 5) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
try {
|
|
51
|
+
// Send request and wait for the response
|
|
52
|
+
const response = yield this.nc.request(this.subject, this.jc.encode(data), { timeout } // Timeout for the response
|
|
53
|
+
);
|
|
54
|
+
if (!response) {
|
|
55
|
+
throw new Error("Failed to get Response");
|
|
56
|
+
}
|
|
57
|
+
const replyData = this.jc.decode(response.data);
|
|
58
|
+
console.log("Received Reply:", replyData);
|
|
59
|
+
return replyData;
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
console.error("Error sending request:", err);
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.ResponsePublisher = ResponsePublisher;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Listener Module
|
|
3
|
+
*
|
|
4
|
+
* This module defines an abstract `Listener` class for listening to events from a NATS JetStream.
|
|
5
|
+
* It ensures that the required stream and consumer exist before consuming events.
|
|
6
|
+
*
|
|
7
|
+
* @module Listener
|
|
8
|
+
*/
|
|
9
|
+
import { JetStreamClient, JsMsg, NatsConnection, Msg } from "nats";
|
|
10
|
+
import { StreamEvent, StreamName } from "../subjects";
|
|
11
|
+
/**
|
|
12
|
+
* Event Interface
|
|
13
|
+
*
|
|
14
|
+
* Represents an event that will be consumed from a NATS stream.
|
|
15
|
+
*
|
|
16
|
+
* @interface
|
|
17
|
+
*/
|
|
18
|
+
interface Event {
|
|
19
|
+
subject: string;
|
|
20
|
+
streamEvents: StreamEvent;
|
|
21
|
+
streamName: StreamName;
|
|
22
|
+
data: any;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Listener Abstract Class
|
|
26
|
+
*
|
|
27
|
+
* Abstract class for consuming events from a NATS JetStream.
|
|
28
|
+
* Subclasses should implement the specific subject, streamEvents, stream, and durableName properties.
|
|
29
|
+
*
|
|
30
|
+
* @abstract
|
|
31
|
+
* @template T - The type of event to be consumed
|
|
32
|
+
*/
|
|
33
|
+
export declare abstract class Listener<T extends Event> {
|
|
34
|
+
private client;
|
|
35
|
+
private nc?;
|
|
36
|
+
private jc;
|
|
37
|
+
/**
|
|
38
|
+
* The subject associated with the event.
|
|
39
|
+
* @abstract
|
|
40
|
+
*/
|
|
41
|
+
abstract subject: T["subject"];
|
|
42
|
+
/**
|
|
43
|
+
* The stream events associated with the event.
|
|
44
|
+
* @abstract
|
|
45
|
+
*/
|
|
46
|
+
abstract streamEvents: T["streamEvents"];
|
|
47
|
+
/**
|
|
48
|
+
* The stream name associated with the event.
|
|
49
|
+
* @abstract
|
|
50
|
+
*/
|
|
51
|
+
abstract stream: T["streamName"];
|
|
52
|
+
/**
|
|
53
|
+
* The durable name for the consumer.
|
|
54
|
+
* @abstract
|
|
55
|
+
*/
|
|
56
|
+
abstract durableName: string;
|
|
57
|
+
/**
|
|
58
|
+
* Acknowledgment wait time of 5 seconds before retrying.
|
|
59
|
+
* @protected
|
|
60
|
+
*/
|
|
61
|
+
protected ackWait: number;
|
|
62
|
+
/**
|
|
63
|
+
* Handles the incoming message.
|
|
64
|
+
* @abstract
|
|
65
|
+
* @param {T["data"]} data - The decoded data from the message
|
|
66
|
+
* @param {JsMsg} msg - The raw NATS message
|
|
67
|
+
*/
|
|
68
|
+
abstract onMessage(data: T["data"], msg: JsMsg): void;
|
|
69
|
+
/**
|
|
70
|
+
* Handles the incoming message.
|
|
71
|
+
* @abstract
|
|
72
|
+
* @param {T["data"]} data - The decoded data from the message
|
|
73
|
+
* @param {JsMsg} msg - The raw NATS message
|
|
74
|
+
*/
|
|
75
|
+
abstract onMessageResponse(data: T["data"], msg: Msg): any;
|
|
76
|
+
/**
|
|
77
|
+
* Constructor for the Listener class.
|
|
78
|
+
*
|
|
79
|
+
* @param {JetStreamClient} client - The NATS JetStream client
|
|
80
|
+
*/
|
|
81
|
+
constructor(client: JetStreamClient, nc?: NatsConnection);
|
|
82
|
+
/**
|
|
83
|
+
* Sets up the listener by ensuring the stream and consumer exist,
|
|
84
|
+
* then starts consuming messages.
|
|
85
|
+
*
|
|
86
|
+
* @returns {Promise<void>} - Resolves when the listener is set up and consuming messages
|
|
87
|
+
*/
|
|
88
|
+
listen(): Promise<void>;
|
|
89
|
+
listenForRequests(): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Ensures the stream exists in the NATS JetStream.
|
|
92
|
+
* Creates the stream if it does not exist.
|
|
93
|
+
*
|
|
94
|
+
* @private
|
|
95
|
+
* @param {StreamName} streamName - The name of the stream
|
|
96
|
+
* @param {string[]} subjects - The subjects associated with the stream
|
|
97
|
+
* @returns {Promise<void>} - Resolves when the stream is ensured to exist
|
|
98
|
+
*/
|
|
99
|
+
private ensureStream;
|
|
100
|
+
/**
|
|
101
|
+
* Ensures the consumer exists in the NATS JetStream.
|
|
102
|
+
* Creates the consumer if it does not exist.
|
|
103
|
+
*
|
|
104
|
+
* @private
|
|
105
|
+
* @param {StreamName} streamName - The name of the stream
|
|
106
|
+
* @param {string} durableName - The durable name of the consumer
|
|
107
|
+
* @param {string} subject - The subject to filter for the consumer
|
|
108
|
+
* @returns {Promise<void>} - Resolves when the consumer is ensured to exist
|
|
109
|
+
*/
|
|
110
|
+
private ensureConsumer;
|
|
111
|
+
}
|
|
112
|
+
export {};
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Listener Module
|
|
4
|
+
*
|
|
5
|
+
* This module defines an abstract `Listener` class for listening to events from a NATS JetStream.
|
|
6
|
+
* It ensures that the required stream and consumer exist before consuming events.
|
|
7
|
+
*
|
|
8
|
+
* @module Listener
|
|
9
|
+
*/
|
|
10
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
20
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
21
|
+
var m = o[Symbol.asyncIterator], i;
|
|
22
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
23
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
24
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.Listener = void 0;
|
|
28
|
+
const nats_1 = require("nats");
|
|
29
|
+
const nat_error_codes_1 = require("../../util/lib/nats/nat-error-codes");
|
|
30
|
+
/**
|
|
31
|
+
* Listener Abstract Class
|
|
32
|
+
*
|
|
33
|
+
* Abstract class for consuming events from a NATS JetStream.
|
|
34
|
+
* Subclasses should implement the specific subject, streamEvents, stream, and durableName properties.
|
|
35
|
+
*
|
|
36
|
+
* @abstract
|
|
37
|
+
* @template T - The type of event to be consumed
|
|
38
|
+
*/
|
|
39
|
+
class Listener {
|
|
40
|
+
/**
|
|
41
|
+
* Constructor for the Listener class.
|
|
42
|
+
*
|
|
43
|
+
* @param {JetStreamClient} client - The NATS JetStream client
|
|
44
|
+
*/
|
|
45
|
+
constructor(client, nc) {
|
|
46
|
+
this.jc = (0, nats_1.JSONCodec)();
|
|
47
|
+
/**
|
|
48
|
+
* Acknowledgment wait time of 5 seconds before retrying.
|
|
49
|
+
* @protected
|
|
50
|
+
*/
|
|
51
|
+
this.ackWait = (0, nats_1.nanos)(5 * 60 * 1000); // acknowledge time of 5 minutes before retry
|
|
52
|
+
this.client = client;
|
|
53
|
+
this.nc = nc;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Sets up the listener by ensuring the stream and consumer exist,
|
|
57
|
+
* then starts consuming messages.
|
|
58
|
+
*
|
|
59
|
+
* @returns {Promise<void>} - Resolves when the listener is set up and consuming messages
|
|
60
|
+
*/
|
|
61
|
+
listen() {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
try {
|
|
64
|
+
// Ensure the stream exists
|
|
65
|
+
yield this.ensureStream(this.stream, [this.streamEvents]);
|
|
66
|
+
// Ensure the consumer exists
|
|
67
|
+
yield this.ensureConsumer(this.stream, this.durableName, this.subject);
|
|
68
|
+
const consumer = yield this.client.consumers.get(this.stream, this.durableName);
|
|
69
|
+
yield consumer.consume({
|
|
70
|
+
max_messages: 1,
|
|
71
|
+
callback: (message) => {
|
|
72
|
+
console.log("sequence number", message.seq);
|
|
73
|
+
const data = this.jc.decode(message.data);
|
|
74
|
+
this.onMessage(data, message);
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
console.error("Error setting up listener:", err);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
listenForRequests() {
|
|
84
|
+
var _a, e_1, _b, _c;
|
|
85
|
+
var _d;
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const subscription = (_d = this.nc) === null || _d === void 0 ? void 0 : _d.subscribe(this.subject);
|
|
88
|
+
try {
|
|
89
|
+
for (var _e = true, subscription_1 = __asyncValues(subscription), subscription_1_1; subscription_1_1 = yield subscription_1.next(), _a = subscription_1_1.done, !_a;) {
|
|
90
|
+
_c = subscription_1_1.value;
|
|
91
|
+
_e = false;
|
|
92
|
+
try {
|
|
93
|
+
const msg = _c;
|
|
94
|
+
// Decode the request data
|
|
95
|
+
const decodedRequest = this.jc.decode(msg.data);
|
|
96
|
+
console.log("Received Request:", decodedRequest);
|
|
97
|
+
const response = yield this.onMessageResponse(decodedRequest, msg);
|
|
98
|
+
// Send a reply back
|
|
99
|
+
msg.respond(this.jc.encode({ data: response }));
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
_e = true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
107
|
+
finally {
|
|
108
|
+
try {
|
|
109
|
+
if (!_e && !_a && (_b = subscription_1.return)) yield _b.call(subscription_1);
|
|
110
|
+
}
|
|
111
|
+
finally { if (e_1) throw e_1.error; }
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Ensures the stream exists in the NATS JetStream.
|
|
117
|
+
* Creates the stream if it does not exist.
|
|
118
|
+
*
|
|
119
|
+
* @private
|
|
120
|
+
* @param {StreamName} streamName - The name of the stream
|
|
121
|
+
* @param {string[]} subjects - The subjects associated with the stream
|
|
122
|
+
* @returns {Promise<void>} - Resolves when the stream is ensured to exist
|
|
123
|
+
*/
|
|
124
|
+
ensureStream(streamName, subjects) {
|
|
125
|
+
var _a, _b;
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
try {
|
|
128
|
+
const jsm = yield this.client.jetstreamManager();
|
|
129
|
+
yield jsm.streams.info(streamName);
|
|
130
|
+
console.log(`Stream '${streamName}' already exists`);
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
console.log("Stream info retrieval error:", err.api_error);
|
|
134
|
+
if (((_a = err === null || err === void 0 ? void 0 : err.api_error) === null || _a === void 0 ? void 0 : _a.code) === 404 &&
|
|
135
|
+
((_b = err === null || err === void 0 ? void 0 : err.api_error) === null || _b === void 0 ? void 0 : _b.err_code) === nat_error_codes_1.NATS_ERROR.STREAM_NOT_FOUND) {
|
|
136
|
+
try {
|
|
137
|
+
const jsm = yield this.client.jetstreamManager();
|
|
138
|
+
const streamConfig = {
|
|
139
|
+
name: streamName,
|
|
140
|
+
subjects,
|
|
141
|
+
storage: nats_1.StorageType.File,
|
|
142
|
+
max_consumers: -1,
|
|
143
|
+
retention: nats_1.RetentionPolicy.Limits,
|
|
144
|
+
max_msgs: 10000,
|
|
145
|
+
max_bytes: 1 * 1024 * 1024 * 1024,
|
|
146
|
+
max_age: (0, nats_1.nanos)(14 * 24 * 3600 * 1000), //2 weeks in milliseconds
|
|
147
|
+
};
|
|
148
|
+
yield jsm.streams.add(streamConfig);
|
|
149
|
+
console.log(`Stream '${streamName}' created`);
|
|
150
|
+
}
|
|
151
|
+
catch (addErr) {
|
|
152
|
+
console.error("Error creating stream:");
|
|
153
|
+
throw addErr;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
throw err;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Ensures the consumer exists in the NATS JetStream.
|
|
164
|
+
* Creates the consumer if it does not exist.
|
|
165
|
+
*
|
|
166
|
+
* @private
|
|
167
|
+
* @param {StreamName} streamName - The name of the stream
|
|
168
|
+
* @param {string} durableName - The durable name of the consumer
|
|
169
|
+
* @param {string} subject - The subject to filter for the consumer
|
|
170
|
+
* @returns {Promise<void>} - Resolves when the consumer is ensured to exist
|
|
171
|
+
*/
|
|
172
|
+
ensureConsumer(streamName, durableName, subject) {
|
|
173
|
+
var _a, _b;
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
const jsm = yield this.client.jetstreamManager();
|
|
176
|
+
try {
|
|
177
|
+
yield jsm.consumers.info(streamName, durableName);
|
|
178
|
+
console.log(`Consumer '${durableName}' already exists`);
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
if (((_a = err === null || err === void 0 ? void 0 : err.api_error) === null || _a === void 0 ? void 0 : _a.code) === 404 &&
|
|
182
|
+
((_b = err === null || err === void 0 ? void 0 : err.api_error) === null || _b === void 0 ? void 0 : _b.err_code) === nat_error_codes_1.NATS_ERROR.CONSUMER_NOT_FOUND) {
|
|
183
|
+
try {
|
|
184
|
+
const consumerConfig = {
|
|
185
|
+
durable_name: durableName,
|
|
186
|
+
ack_policy: nats_1.AckPolicy.Explicit,
|
|
187
|
+
filter_subject: subject,
|
|
188
|
+
deliver_policy: nats_1.DeliverPolicy.All,
|
|
189
|
+
ack_wait: this.ackWait,
|
|
190
|
+
max_deliver: 576, //5 minutes * 576 equals two days assuming the systme
|
|
191
|
+
};
|
|
192
|
+
yield jsm.consumers.add(streamName, consumerConfig);
|
|
193
|
+
console.log(`Consumer '${durableName}' created`);
|
|
194
|
+
}
|
|
195
|
+
catch (addConsumerError) {
|
|
196
|
+
console.error("Error creating stream:", addConsumerError);
|
|
197
|
+
throw addConsumerError;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
throw err;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
exports.Listener = Listener;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Publisher Module
|
|
3
|
+
*
|
|
4
|
+
* This module defines an abstract `Publisher` class for publishing events to a NATS JetStream.
|
|
5
|
+
* It ensures that the required stream exists before publishing events.
|
|
6
|
+
*
|
|
7
|
+
* @module Publisher
|
|
8
|
+
*/
|
|
9
|
+
import { JetStreamClient, NatsConnection } from "nats";
|
|
10
|
+
import { StreamEvent, StreamName } from "../subjects";
|
|
11
|
+
/**
|
|
12
|
+
* Event Interface
|
|
13
|
+
*
|
|
14
|
+
* Represents an event that will be published to a NATS stream.
|
|
15
|
+
*
|
|
16
|
+
* @interface
|
|
17
|
+
*/
|
|
18
|
+
interface Event {
|
|
19
|
+
subject: string;
|
|
20
|
+
streamEvents: StreamEvent;
|
|
21
|
+
streamName: StreamName;
|
|
22
|
+
data: any;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Publisher Abstract Class
|
|
26
|
+
*
|
|
27
|
+
* Abstract class for publishing events to a NATS JetStream.
|
|
28
|
+
* Subclasses should implement the specific subject, streamEvents, and stream properties.
|
|
29
|
+
*
|
|
30
|
+
* @abstract
|
|
31
|
+
* @template T - The type of event to be published
|
|
32
|
+
*/
|
|
33
|
+
export declare abstract class Publisher<T extends Event> {
|
|
34
|
+
private client;
|
|
35
|
+
private nc?;
|
|
36
|
+
private jc;
|
|
37
|
+
/**
|
|
38
|
+
* The subject associated with the event.
|
|
39
|
+
* @abstract
|
|
40
|
+
*/
|
|
41
|
+
abstract subject: T["subject"];
|
|
42
|
+
/**
|
|
43
|
+
* The stream events associated with the event.
|
|
44
|
+
* @abstract
|
|
45
|
+
*/
|
|
46
|
+
abstract streamEvents: T["streamEvents"];
|
|
47
|
+
/**
|
|
48
|
+
* The stream name associated with the event.
|
|
49
|
+
* @abstract
|
|
50
|
+
*/
|
|
51
|
+
abstract stream: T["streamName"];
|
|
52
|
+
/**
|
|
53
|
+
* Constructor for the Publisher class.
|
|
54
|
+
*
|
|
55
|
+
* @param {JetStreamClient} client - The NATS JetStream client
|
|
56
|
+
*/
|
|
57
|
+
constructor(client: JetStreamClient, nc?: NatsConnection);
|
|
58
|
+
/**
|
|
59
|
+
* Publishes data to the NATS JetStream.
|
|
60
|
+
*
|
|
61
|
+
* @param {T["data"]} data - The data to be published
|
|
62
|
+
* @returns {Promise<void>} - Resolves when the data is published successfully
|
|
63
|
+
*/
|
|
64
|
+
publish(data: T["data"]): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Sends a request to another service and waits for a reply.
|
|
67
|
+
*
|
|
68
|
+
* @param {T["data"]} data - The data to be sent in the request
|
|
69
|
+
* @param {number} timeout - The timeout duration to wait for a response
|
|
70
|
+
* @returns {Promise<any>} - Resolves with the reply data from the responding service
|
|
71
|
+
*/
|
|
72
|
+
request(data: T["data"], timeout?: number): Promise<any>;
|
|
73
|
+
/**
|
|
74
|
+
* Ensures the stream exists in the NATS JetStream.
|
|
75
|
+
* Creates the stream if it does not exist.
|
|
76
|
+
*
|
|
77
|
+
* @private
|
|
78
|
+
* @param {StreamName} streamName - The name of the stream
|
|
79
|
+
* @param {string[]} subjects - The subjects associated with the stream
|
|
80
|
+
* @returns {Promise<void>} - Resolves when the stream is ensured to exist
|
|
81
|
+
*/
|
|
82
|
+
private ensureStream;
|
|
83
|
+
}
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Publisher Module
|
|
4
|
+
*
|
|
5
|
+
* This module defines an abstract `Publisher` class for publishing events to a NATS JetStream.
|
|
6
|
+
* It ensures that the required stream exists before publishing events.
|
|
7
|
+
*
|
|
8
|
+
* @module Publisher
|
|
9
|
+
*/
|
|
10
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.Publisher = void 0;
|
|
21
|
+
const nats_1 = require("nats");
|
|
22
|
+
const nat_error_codes_1 = require("../../util/lib/nats/nat-error-codes");
|
|
23
|
+
/**
|
|
24
|
+
* Publisher Abstract Class
|
|
25
|
+
*
|
|
26
|
+
* Abstract class for publishing events to a NATS JetStream.
|
|
27
|
+
* Subclasses should implement the specific subject, streamEvents, and stream properties.
|
|
28
|
+
*
|
|
29
|
+
* @abstract
|
|
30
|
+
* @template T - The type of event to be published
|
|
31
|
+
*/
|
|
32
|
+
class Publisher {
|
|
33
|
+
/**
|
|
34
|
+
* Constructor for the Publisher class.
|
|
35
|
+
*
|
|
36
|
+
* @param {JetStreamClient} client - The NATS JetStream client
|
|
37
|
+
*/
|
|
38
|
+
constructor(client, nc) {
|
|
39
|
+
this.jc = (0, nats_1.JSONCodec)();
|
|
40
|
+
this.client = client;
|
|
41
|
+
this.nc = nc;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Publishes data to the NATS JetStream.
|
|
45
|
+
*
|
|
46
|
+
* @param {T["data"]} data - The data to be published
|
|
47
|
+
* @returns {Promise<void>} - Resolves when the data is published successfully
|
|
48
|
+
*/
|
|
49
|
+
publish(data) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
try {
|
|
53
|
+
// Ensure the stream exists
|
|
54
|
+
yield this.ensureStream(this.stream, [this.streamEvents]);
|
|
55
|
+
yield this.client.publish(this.subject, this.jc.encode(data));
|
|
56
|
+
console.log("Event Published");
|
|
57
|
+
resolve();
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.error("Error publishing event:", err);
|
|
61
|
+
reject(err);
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Sends a request to another service and waits for a reply.
|
|
68
|
+
*
|
|
69
|
+
* @param {T["data"]} data - The data to be sent in the request
|
|
70
|
+
* @param {number} timeout - The timeout duration to wait for a response
|
|
71
|
+
* @returns {Promise<any>} - Resolves with the reply data from the responding service
|
|
72
|
+
*/
|
|
73
|
+
request(data, timeout = 5000) {
|
|
74
|
+
var _a;
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
try {
|
|
77
|
+
// Send request and wait for the response
|
|
78
|
+
const response = yield ((_a = this.nc) === null || _a === void 0 ? void 0 : _a.request(this.subject, this.jc.encode(data), { timeout } // Timeout for the response
|
|
79
|
+
));
|
|
80
|
+
if (!response) {
|
|
81
|
+
throw new Error("Failed to get Response");
|
|
82
|
+
}
|
|
83
|
+
const replyData = this.jc.decode(response.data);
|
|
84
|
+
console.log("Received Reply:", replyData);
|
|
85
|
+
return replyData;
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
console.error("Error sending request:", err);
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Ensures the stream exists in the NATS JetStream.
|
|
95
|
+
* Creates the stream if it does not exist.
|
|
96
|
+
*
|
|
97
|
+
* @private
|
|
98
|
+
* @param {StreamName} streamName - The name of the stream
|
|
99
|
+
* @param {string[]} subjects - The subjects associated with the stream
|
|
100
|
+
* @returns {Promise<void>} - Resolves when the stream is ensured to exist
|
|
101
|
+
*/
|
|
102
|
+
ensureStream(streamName, subjects) {
|
|
103
|
+
var _a, _b;
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
try {
|
|
106
|
+
const jsm = yield this.client.jetstreamManager();
|
|
107
|
+
yield jsm.streams.info(streamName);
|
|
108
|
+
console.log(`Stream '${streamName}' already exists`);
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
console.log("Stream info retrieval error:", err.api_error);
|
|
112
|
+
if (((_a = err === null || err === void 0 ? void 0 : err.api_error) === null || _a === void 0 ? void 0 : _a.code) === 404 &&
|
|
113
|
+
((_b = err === null || err === void 0 ? void 0 : err.api_error) === null || _b === void 0 ? void 0 : _b.err_code) === nat_error_codes_1.NATS_ERROR.STREAM_NOT_FOUND) {
|
|
114
|
+
try {
|
|
115
|
+
const jsm = yield this.client.jetstreamManager();
|
|
116
|
+
const streamConfig = {
|
|
117
|
+
name: streamName,
|
|
118
|
+
subjects,
|
|
119
|
+
storage: nats_1.StorageType.File,
|
|
120
|
+
retention: nats_1.RetentionPolicy.Limits,
|
|
121
|
+
max_consumers: -1,
|
|
122
|
+
max_msgs: 10000,
|
|
123
|
+
max_bytes: 5 * 1024 * 1024 * 1024,
|
|
124
|
+
max_age: (0, nats_1.nanos)(14 * 24 * 3600 * 1000), //2 weeks in milliseconds
|
|
125
|
+
};
|
|
126
|
+
yield jsm.streams.add(streamConfig);
|
|
127
|
+
console.log(`Stream '${streamName}' created`);
|
|
128
|
+
}
|
|
129
|
+
catch (addErr) {
|
|
130
|
+
console.error("Error creating stream:");
|
|
131
|
+
throw addErr;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
throw err;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.Publisher = Publisher;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventResponseStatus = void 0;
|
|
4
|
+
var EventResponseStatus;
|
|
5
|
+
(function (EventResponseStatus) {
|
|
6
|
+
EventResponseStatus["Failed"] = "Failed";
|
|
7
|
+
EventResponseStatus["Success"] = "Success";
|
|
8
|
+
})(EventResponseStatus = exports.EventResponseStatus || (exports.EventResponseStatus = {}));
|