diff --git a/.github/workflows/security-scan.yml b/.github/workflows/security-scan.yml index 46a56af..5f54c5c 100644 --- a/.github/workflows/security-scan.yml +++ b/.github/workflows/security-scan.yml @@ -12,7 +12,6 @@ jobs: runs-on: ubuntu-latest env: OS: ubuntu-latest - PYTHON: '3.7' steps: - name: checkout code uses: actions/checkout@v2 @@ -20,7 +19,7 @@ jobs: - name: Checkmarx One ClI Action uses: checkmarx/ast-github-action@main with: - project_name: Python-v2 + project_name: Node-v3 cx_tenant: Flutterwave base_uri: https://eu.ast.checkmarx.net/ cx_client_id: ${{ secrets.CX_CLIENT_ID }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 4949396..8b3ce53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,97 +1,100 @@ # Changelog +## 1.2.1 | 2025-04-14 + +Added validation for mobile money networks. + +### Version Changes + +- [ADDED] `network` validations for mobilemoney collections in the momoSchema. +- [ADDED] checkmarx security scan to the package build pipeline. + ## 1.2.0 | 2025-04-09 Replace `Request` package with `Fetch` for HTTP requests and update the charge schema. ### Version Changes + - [ADDED] `sa_bank_code` in the chargeSchema. - [ADDED] Fetch API to handle HTTP calls in the SDK. - [FIXED] Bumped axios version to the latest. - [REMOVED] The deprecated request package as a dependency. - - ## 1.1.15 | 2025-02-28 Added transaction verification by reference and updated the settlement imports for the `fetch_all()` and `fetch()` settlement methods. ### Version Changes + - [ADDED] Transaction verification by reference(`tx_ref`). - [FIXED] Update the `fetch_all()` and `fetch()` settlement methods to use the correct settlement imports, ensuring they send the correct requests to the Flutterwave API. - - ## 1.1.14 | 2024-12-13 Updated the `voucher` parameter in the momo schema. ### Version Changes -- [FIXED] Make the `voucher` parameter optional in the create mobile money schema. - +- [FIXED] Make the `voucher` parameter optional in the create mobile money schema. ## 1.1.13 | 2024-11-19 Updated the `getBalanceByCurrency` method to parse path parameters. ### Version Changes -- [FIXED] Update the `balance_currency` function in the Misc object to exclude queries when parsing a path parameter. - +- [FIXED] Update the `balance_currency` function in the Misc object to exclude queries when parsing a path parameter. ## 1.1.12 | 2024-09-27 + Update the list schema. ### Version Changes -- [FIXED] Remove the required validation on the 'account_bank' parameter. - +- [FIXED] Remove the required validation on the 'account_bank' parameter. ## 1.1.11 | 2024-09-10 + Update `account_bank` validation in create schema. ### Version Changes -- [FIXED] Update minLength & maxLength validation for account_bank parameter. - +- [FIXED] Update minLength & maxLength validation for account_bank parameter. ## 1.1.10 | 2024-04-04 Updated the variable name "package" which happens to be a reserved word in JavaScript, and it is causing compatibility issues with certain bundlers. ### Version Changes -- [FIXED] changed the variable name 'package' to 'packageJson' in the logger.js file. - +- [FIXED] changed the variable name 'package' to 'packageJson' in the logger.js file. ## 1.1.9 | 2024-03-18 Validation hotfix on subaccounts ### Version Changes. -- [FIXED] Update validation (minLength & maxLength) for 'account_bank" parameter in the subaccountSchema. - +- [FIXED] Update validation (minLength & maxLength) for 'account_bank" parameter in the subaccountSchema. ## 1.1.8 | 2024-02-19 Updated BVN verification flow and hotfixes on subaccount, bills and transaction fees: ### Version Changes. + - [ADDED] New BVN verification flow (via NIBBS). - [ADDED] Unit tests for more coverage on the BVN verification, fees, and split payments. - [ADDED] Subaccounts parameter (optional) to card charge and PWBT requests. - [FIXED] Resolved "URL Not Found" Error returned from Validate Bill Service method. - [FIXED] Resolved "Invalid currency provided" Error returned from the Transaction fees method. - - ## 1.1.7 | 2024-01-25 Scheduled updates and bugfixes: ### Version Changes. + - [ADDED] Tanzania mobile money payment method. - [ADDED] Fawry Pay payment method. - [ADDED] Supplementary parameters in the createBulkTransferSchema. @@ -110,41 +113,37 @@ Scheduled updates and bugfixes: - [FIXED] Revised the NG bank charge (Mono). - [REMOVED] Eliminated the "amount" parameter in the updatePlanSchema. - - ## 1.1.6 | 2023-06-21 Hotfix on Transfer fees and Bank lists. ### Version changes. + - [FIXED] Transfer fees returning 0 for all amounts. - [FIXED] Null data response for Bank lists. - - ## 1.1.5 | 2023-04-13 Hotfix to hide header information in the library response. ### Version changes. -- [FIXED] Removed headers in the response. - +- [FIXED] Removed headers in the response. ## 1.1.4 | 2023-04-13 This release fixes the empty subscription fetch query with user email. ### Version changes. -- [FIXED] Empty data in response object for subscription fetch with email query parameter - +- [FIXED] Empty data in response object for subscription fetch with email query parameter ## 1.1.3 | 2023-03-29 Scheduled updates and bug fixes. This release fixes all the bugs in the new SDK (v1.1.0) ### Version changes. + - [FIXED] Updated validation for empty meta objects in charge and transfer methods. - [FIXED] Added conditional validation for `Country`, `Network`and `Voucher` parameters in Mobile Money schema. - [FIXED] [#111](https://github.com/Flutterwave/Node/issues/111) Verify transaction error. @@ -153,22 +152,20 @@ Scheduled updates and bug fixes. This release fixes all the bugs in the new SDK - [ADDED] Support for query parameters in listing methods. - [REMOVED] Replaced `first_name` and `last_name` in the Card tokenization schema with a single `full_name`field. - - ## 1.1.1 | 2023-03-17 This release fixes all morx errors thrown in custom request class. ### Version changes. -- [FIXED] Morx error returned in custom service class in v1.1.0 - +- [FIXED] Morx error returned in custom service class in v1.1.0 ## 1.1.0 | 2023-03-14 This release fixes all npm warnings and dependabot error messages. ### Version changes. + - [FIXED] [#103](https://github.com/Flutterwave/Node/issues/103) Multiple Vulnerabilities Introduced by dependencies - [FIXED] [#87](https://github.com/Flutterwave/Node/issues/87) Amount is required for payment plan creation - [FIXED] [#84](https://github.com/Flutterwave/Node/issues/84) Cannot filter bills by category diff --git a/services/banks/rave.banks-branches.js b/services/banks/rave.banks-branches.js index a9247e5..c916274 100644 --- a/services/banks/rave.banks-branches.js +++ b/services/banks/rave.banks-branches.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/banks/${data.id}/branches`, data, ); - logger(`Get bank branches`, _rave); + // logger(`Get bank branches`, _rave); return response; } diff --git a/services/banks/rave.banks-country.js b/services/banks/rave.banks-country.js index e9d0cf4..5316962 100644 --- a/services/banks/rave.banks-country.js +++ b/services/banks/rave.banks-country.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { listSchema } = require('../schema/base'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/banks/${data.country}`, data, ); - logger(`Get banks by country`, _rave); + // logger(`Get banks by country`, _rave); return response; } diff --git a/services/beneficiaries/rave.create.js b/services/beneficiaries/rave.create.js index 7a2b67c..b1cf09d 100644 --- a/services/beneficiaries/rave.create.js +++ b/services/beneficiaries/rave.create.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { beneficiarySchema } = require('../schema/create'); async function service(data, _rave) { validator(beneficiarySchema, data); const { body: response } = await _rave.request(`v3/beneficiaries`, data); - logger(`Create beneficiary`, _rave); + // logger(`Create beneficiary`, _rave); return response; } diff --git a/services/beneficiaries/rave.delete.js b/services/beneficiaries/rave.delete.js index 89a0cfd..d0f1ff7 100644 --- a/services/beneficiaries/rave.delete.js +++ b/services/beneficiaries/rave.delete.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/beneficiaries/${data.id}`, data, ); - logger(`Delete a beneficiary`, _rave); + // logger(`Delete a beneficiary`, _rave); return response; } diff --git a/services/beneficiaries/rave.single.retrieve.js b/services/beneficiaries/rave.single.retrieve.js index e161ece..2e17561 100644 --- a/services/beneficiaries/rave.single.retrieve.js +++ b/services/beneficiaries/rave.single.retrieve.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/beneficiaries/${data.id}`, data, ); - logger(`Fetch a transfer beneficiary`, _rave); + // logger(`Fetch a transfer beneficiary`, _rave); return response; } diff --git a/services/bills/rave.amount.to-be-paid.js b/services/bills/rave.amount.to-be-paid.js index 754a78d..1fcace1 100644 --- a/services/bills/rave.amount.to-be-paid.js +++ b/services/bills/rave.amount.to-be-paid.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { amountQuerySchema } = require('../schema/bill'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/billers/${data.id}/products/${data.product_id}`, data, ); - logger(`Fetch bill amount`, _rave); + // logger(`Fetch bill amount`, _rave); return response; } diff --git a/services/bills/rave.create-bill.payment.js b/services/bills/rave.create-bill.payment.js index 7e1d8e3..574028b 100644 --- a/services/bills/rave.create-bill.payment.js +++ b/services/bills/rave.create-bill.payment.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { createSchema } = require('../schema/bill'); async function service(data, _rave) { validator(createSchema, data); const { body: response } = await _rave.request(`v3/bills`, data); - logger(`Create bill payments`, _rave); + // logger(`Create bill payments`, _rave); return response; } diff --git a/services/bills/rave.create-bulk.bills.js b/services/bills/rave.create-bulk.bills.js index 74c2c5b..3223653 100644 --- a/services/bills/rave.create-bulk.bills.js +++ b/services/bills/rave.create-bulk.bills.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { bulkCreateSchema } = require('../schema/bill'); async function service(data, _rave) { validator(bulkCreateSchema, data); const { body: response } = await _rave.request(`v3/bulk-bills`, data); - logger(`Create bulk bill payments`, _rave); + // logger(`Create bulk bill payments`, _rave); return response; } diff --git a/services/bills/rave.create-order-billing-code.js b/services/bills/rave.create-order-billing-code.js index b213b6a..c494916 100644 --- a/services/bills/rave.create-order-billing-code.js +++ b/services/bills/rave.create-order-billing-code.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { createOrderSchema } = require('../schema/bill'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/billers/${data.id}/products/${data.product_id}/orders`, data, ); - logger(`Create order with billing code`, _rave); + // logger(`Create order with billing code`, _rave); return response; } diff --git a/services/bills/rave.get-bill-payments.js b/services/bills/rave.get-bill-payments.js index d8685f7..a9aa69f 100644 --- a/services/bills/rave.get-bill-payments.js +++ b/services/bills/rave.get-bill-payments.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { listSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/bills?from=${data.from}&to=${data.to}`, data, ); - logger(`Fetch bill payments`, _rave); + // logger(`Fetch bill payments`, _rave); return response; } diff --git a/services/bills/rave.get.status.js b/services/bills/rave.get.status.js index 64f8310..f25e83a 100644 --- a/services/bills/rave.get.status.js +++ b/services/bills/rave.get.status.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchStatusSchema } = require('../schema/bill'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/bills/${data.reference}`, data, ); - logger(`Fetch bill status`, _rave); + // logger(`Fetch bill status`, _rave); return response; } diff --git a/services/bills/rave.products-under-an-agency.js b/services/bills/rave.products-under-an-agency.js index 1c08a3e..ed4aa53 100644 --- a/services/bills/rave.products-under-an-agency.js +++ b/services/bills/rave.products-under-an-agency.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/billers/${data.id}/products`, data, ); - logger(`Retrieve bills by agency`, _rave); + // logger(`Retrieve bills by agency`, _rave); return response; } diff --git a/services/bills/rave.update-bills.order.js b/services/bills/rave.update-bills.order.js index 12f23bd..126699c 100644 --- a/services/bills/rave.update-bills.order.js +++ b/services/bills/rave.update-bills.order.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { updateOrderSchema } = require('../schema/bill'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/product-orders/${data.reference}`, data, ); - logger(`Update bill order`, _rave); + // logger(`Update bill order`, _rave); return response; } diff --git a/services/bills/rave.validate-bill.js b/services/bills/rave.validate-bill.js index 05994de..c982537 100644 --- a/services/bills/rave.validate-bill.js +++ b/services/bills/rave.validate-bill.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { validateSchema } = require('../schema/bill'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/bill-items/${data.item_code}/validate?code=${data.code}&customer=${data.customer}`, data, ); - logger(`Validate bill payment`, _rave); + // logger(`Validate bill payment`, _rave); return response; } diff --git a/services/charge/rave.ach.js b/services/charge/rave.ach.js index 97e9da6..5a88d83 100644 --- a/services/charge/rave.ach.js +++ b/services/charge/rave.ach.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { chargeSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=ach_payment`, data, ); - logger(`Create ACH charge`, _rave); + // logger(`Create ACH charge`, _rave); return response; } diff --git a/services/charge/rave.applepay.js b/services/charge/rave.applepay.js index 6d6239e..b7d23c3 100644 --- a/services/charge/rave.applepay.js +++ b/services/charge/rave.applepay.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { chargeSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=applepay`, data, ); - logger(`Create ApplePay charge`, _rave); + // logger(`Create ApplePay charge`, _rave); return response; } diff --git a/services/charge/rave.bank.transfer.js b/services/charge/rave.bank.transfer.js index 40187b3..2c3eeb4 100644 --- a/services/charge/rave.bank.transfer.js +++ b/services/charge/rave.bank.transfer.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { chargeSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=bank_transfer`, data, ); - logger(`Create Bank transfer charge`, _rave); + // logger(`Create Bank transfer charge`, _rave); return response; } diff --git a/services/charge/rave.card.charge.js b/services/charge/rave.card.charge.js index 1794890..2ca1cb1 100644 --- a/services/charge/rave.card.charge.js +++ b/services/charge/rave.card.charge.js @@ -1,5 +1,5 @@ const encrypt = require('./encryp'); -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { cardChargeSchema } = require('../schema/create'); @@ -16,7 +16,7 @@ async function service(data, _rave) { payload, ); - logger(`Create card charge`, _rave); + // logger(`Create card charge`, _rave); return response; } module.exports = service; diff --git a/services/charge/rave.enaira.js b/services/charge/rave.enaira.js index 2bcaf06..e0f1dcd 100644 --- a/services/charge/rave.enaira.js +++ b/services/charge/rave.enaira.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { eNairaChargeSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=enaira`, data, ); - logger(`Create eNaira charge`, _rave); + // logger(`Create eNaira charge`, _rave); return response; } diff --git a/services/charge/rave.fawrypay.js b/services/charge/rave.fawrypay.js index f770844..43c7e91 100644 --- a/services/charge/rave.fawrypay.js +++ b/services/charge/rave.fawrypay.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { bankChargeSchema } = require('../schema/create'); @@ -8,8 +8,8 @@ async function service(data, _rave) { `v3/charges?type=fawry_pay`, data, ); - logger(`Create FawryPay charge`, _rave); + // logger(`Create FawryPay charge`, _rave); return response; } -module.exports = service; \ No newline at end of file +module.exports = service; diff --git a/services/charge/rave.googlepay.js b/services/charge/rave.googlepay.js index a5555d3..c8de09b 100644 --- a/services/charge/rave.googlepay.js +++ b/services/charge/rave.googlepay.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { chargeSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=googlepay`, data, ); - logger(`Create GooglePay charge`, _rave); + // logger(`Create GooglePay charge`, _rave); return response; } diff --git a/services/charge/rave.ng-banks.js b/services/charge/rave.ng-banks.js index 49fd981..214fb43 100644 --- a/services/charge/rave.ng-banks.js +++ b/services/charge/rave.ng-banks.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { bankChargeSchema } = require('../schema/create'); async function service(data, _rave) { validator(bankChargeSchema, data); const { body: response } = await _rave.request(`v3/charges?type=mono`, data); - logger(`NG direct debit`, _rave); + // logger(`NG direct debit`, _rave); return response; } diff --git a/services/charge/rave.uk-banks.js b/services/charge/rave.uk-banks.js index e900f59..01418cb 100644 --- a/services/charge/rave.uk-banks.js +++ b/services/charge/rave.uk-banks.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { bankChargeSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=account-ach-uk`, data, ); - logger(`UK direct debit`, _rave); + // logger(`UK direct debit`, _rave); return response; } diff --git a/services/charge/rave.ussd.js b/services/charge/rave.ussd.js index 51b86ed..b901913 100644 --- a/services/charge/rave.ussd.js +++ b/services/charge/rave.ussd.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { ussdChargeSchema } = require('../schema/create'); async function service(data, _rave) { validator(ussdChargeSchema, data); const { body: response } = await _rave.request(`v3/charges?type=ussd`, data); - logger(`Create USSD charge`, _rave); + // logger(`Create USSD charge`, _rave); return response; } diff --git a/services/charge/rave.validate.js b/services/charge/rave.validate.js index 78d8ddc..67c29d4 100644 --- a/services/charge/rave.validate.js +++ b/services/charge/rave.validate.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { validateSchema } = require('../schema/base'); async function service(data, _rave) { validator(validateSchema, data); const { body: response } = await _rave.request(`v3/validate-charge`, data); - logger(`Validate payment`, _rave); + // logger(`Validate payment`, _rave); return response; } diff --git a/services/ebills/rave.order.js b/services/ebills/rave.order.js index 283e8f0..0f1d676 100644 --- a/services/ebills/rave.order.js +++ b/services/ebills/rave.order.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { orderSchema } = require('../schema/auxillary'); async function service(data, _rave) { validator(orderSchema, data); const { body: response } = await _rave.request(`v3/ebills`, data); - logger(`Create an ebill`, _rave); + // logger(`Create an ebill`, _rave); return response; } diff --git a/services/ebills/rave.update.js b/services/ebills/rave.update.js index d896104..9193b01 100644 --- a/services/ebills/rave.update.js +++ b/services/ebills/rave.update.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { updateSchema } = require('../schema/auxillary'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/ebills/${data.reference}`, data, ); - logger(`Update ebills details`, _rave); + // logger(`Update ebills details`, _rave); return response; } diff --git a/services/misc/rave.balances-currency.js b/services/misc/rave.balances-currency.js index ca7e4d6..4cbeda9 100644 --- a/services/misc/rave.balances-currency.js +++ b/services/misc/rave.balances-currency.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchBalance } = require('../schema/auxillary'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `/v3/balances/${data.currency}`, data, ); - logger(`Query balance by currency`, _rave); + // logger(`Query balance by currency`, _rave); return response; } diff --git a/services/misc/rave.initiate.bvn.js b/services/misc/rave.initiate.bvn.js index 66eb656..5b4dd35 100644 --- a/services/misc/rave.initiate.bvn.js +++ b/services/misc/rave.initiate.bvn.js @@ -1,14 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { initiateBVNSchema } = require('../schema/auxillary'); async function service(data, _rave) { validator(initiateBVNSchema, data); - const { body: response } = await _rave.request( - `v3/bvn/verifications`, - data, - ); - logger(`Initiate BVN consent`, _rave); + const { body: response } = await _rave.request(`v3/bvn/verifications`, data); + // logger(`Initiate BVN consent`, _rave); return response; } diff --git a/services/misc/rave.resolve.account.js b/services/misc/rave.resolve.account.js index 8c4b09b..703a584 100644 --- a/services/misc/rave.resolve.account.js +++ b/services/misc/rave.resolve.account.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { resolveSchema } = require('../schema/auxillary'); @@ -6,7 +6,7 @@ async function service(data, _rave) { validator(resolveSchema, data); data.method = 'POST'; const { body: response } = await _rave.request(`v3/accounts/resolve`, data); - logger(`Resolve bank account details`, _rave); + // logger(`Resolve bank account details`, _rave); return response; } diff --git a/services/misc/rave.verify.bvn.js b/services/misc/rave.verify.bvn.js index 990b4b3..8babbeb 100644 --- a/services/misc/rave.verify.bvn.js +++ b/services/misc/rave.verify.bvn.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { verifyBVNSchema } = require('../schema/auxillary'); @@ -10,8 +10,8 @@ async function service(data, _rave) { `v3/bvn/verifications/${data.reference}`, data, ); - logger(`Verify BVN consent`, _rave); + // logger(`Verify BVN consent`, _rave); return response; } -module.exports = service; \ No newline at end of file +module.exports = service; diff --git a/services/mobile-money/rave.francophone.js b/services/mobile-money/rave.francophone.js index 849eff7..ee6d115 100644 --- a/services/mobile-money/rave.francophone.js +++ b/services/mobile-money/rave.francophone.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { momoSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=mobile_money_franco`, data, ); - logger(`Create ${data.currency} MoMo charge`, _rave); + // logger(`Create ${data.currency} MoMo charge`, _rave); return response; } diff --git a/services/mobile-money/rave.ghana.js b/services/mobile-money/rave.ghana.js index 9dcbe2e..15bd0b4 100644 --- a/services/mobile-money/rave.ghana.js +++ b/services/mobile-money/rave.ghana.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { momoSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `/v3/charges?type=mobile_money_ghana`, data, ); - logger(`Create ${data.currency} MoMo charge`, _rave); + // logger(`Create ${data.currency} MoMo charge`, _rave); return response; } diff --git a/services/mobile-money/rave.mpesa.js b/services/mobile-money/rave.mpesa.js index 4e79b4f..7d3346a 100644 --- a/services/mobile-money/rave.mpesa.js +++ b/services/mobile-money/rave.mpesa.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { momoSchema } = require('../schema/create'); async function service(data, _rave) { validator(momoSchema, data); const { body: response } = await _rave.request(`v3/charges?type=mpesa`, data); - logger(`Create ${data.currency} MoMo charge`, _rave); + // logger(`Create ${data.currency} MoMo charge`, _rave); return response; } diff --git a/services/mobile-money/rave.rwanda.js b/services/mobile-money/rave.rwanda.js index 7190c51..c2e5dba 100644 --- a/services/mobile-money/rave.rwanda.js +++ b/services/mobile-money/rave.rwanda.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { momoSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=mobile_money_rwanda`, data, ); - logger(`Create ${data.currency} MoMo charge`, _rave); + // logger(`Create ${data.currency} MoMo charge`, _rave); return response; } diff --git a/services/mobile-money/rave.tanzania.js b/services/mobile-money/rave.tanzania.js index 67fa04b..7414fa3 100644 --- a/services/mobile-money/rave.tanzania.js +++ b/services/mobile-money/rave.tanzania.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { momoSchema } = require('../schema/create'); @@ -8,8 +8,8 @@ async function service(data, _rave) { `v3/charges?type=mobile_money_tanzania`, data, ); - logger(`Create ${data.currency} MoMo charge`, _rave); + // logger(`Create ${data.currency} MoMo charge`, _rave); return response; } -module.exports = service; \ No newline at end of file +module.exports = service; diff --git a/services/mobile-money/rave.uganda.js b/services/mobile-money/rave.uganda.js index 80ff09b..b7a4d63 100644 --- a/services/mobile-money/rave.uganda.js +++ b/services/mobile-money/rave.uganda.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { momoSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=mobile_money_uganda`, data, ); - logger(`Create ${data.currency} MoMo charge`, _rave); + // logger(`Create ${data.currency} MoMo charge`, _rave); return response; } diff --git a/services/mobile-money/rave.zambia.js b/services/mobile-money/rave.zambia.js index 207dcf3..d1c2669 100644 --- a/services/mobile-money/rave.zambia.js +++ b/services/mobile-money/rave.zambia.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { momoSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/charges?type=mobile_money_zambia`, data, ); - logger(`Create ${data.currency} MoMo charge`, _rave); + // logger(`Create ${data.currency} MoMo charge`, _rave); return response; } diff --git a/services/otps/rave.create.js b/services/otps/rave.create.js index cfb88c6..5fa273a 100644 --- a/services/otps/rave.create.js +++ b/services/otps/rave.create.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { createOTPSchema } = require('../schema/auxillary'); async function service(data, _rave) { validator(createOTPSchema, data); const { body: response } = await _rave.request(`v3/otps`, data); - logger(`Create OTP`, _rave); + // logger(`Create OTP`, _rave); return response; } diff --git a/services/otps/rave.validate.js b/services/otps/rave.validate.js index fcb2a7b..377821b 100644 --- a/services/otps/rave.validate.js +++ b/services/otps/rave.validate.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { validateSchema } = require('../schema/auxillary'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/otps/${data.reference}/validate`, data, ); - logger(`Validate OTP`, _rave); + // logger(`Validate OTP`, _rave); return response; } diff --git a/services/payment-plans/rave.cancel.js b/services/payment-plans/rave.cancel.js index 8739527..9b2cb30 100644 --- a/services/payment-plans/rave.cancel.js +++ b/services/payment-plans/rave.cancel.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/payment-plans/${data.id}/cancel`, data, ); - logger(`Cancel a payment plan`, _rave); + // logger(`Cancel a payment plan`, _rave); return response; } diff --git a/services/payment-plans/rave.create.js b/services/payment-plans/rave.create.js index f67978e..bf83675 100644 --- a/services/payment-plans/rave.create.js +++ b/services/payment-plans/rave.create.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { planSchema } = require('../schema/create'); async function service(data, _rave) { validator(planSchema, data); const { body: response } = await _rave.request(`v3/payment-plans`, data); - logger(`Create a payment plan`, _rave); + // logger(`Create a payment plan`, _rave); return response; } diff --git a/services/payment-plans/rave.retrieve.single.js b/services/payment-plans/rave.retrieve.single.js index fd40d77..e4bec5a 100644 --- a/services/payment-plans/rave.retrieve.single.js +++ b/services/payment-plans/rave.retrieve.single.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/payment-plans/${data.id}`, data, ); - logger(`Fetch a plan`, _rave); + // logger(`Fetch a plan`, _rave); return response; } diff --git a/services/payment-plans/rave.update.js b/services/payment-plans/rave.update.js index 8b9fc09..5f92b54 100644 --- a/services/payment-plans/rave.update.js +++ b/services/payment-plans/rave.update.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { updatePlanSchema } = require('../schema/auxillary'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/payment-plans/${data.id}`, data, ); - logger(`Update plan details`, _rave); + // logger(`Update plan details`, _rave); return response; } diff --git a/services/schema/create.js b/services/schema/create.js index 8b7be46..fbf9dc7 100644 --- a/services/schema/create.js +++ b/services/schema/create.js @@ -356,28 +356,141 @@ const momoSchema = joi.object({ .required(), network: joi.when('currency', { is: 'GHS', - then: joi.string().valid('MTN', 'VODAFONE', 'TIGO').required().messages({ - 'any.only': 'Only MTN, VODAFONE and TIGO are valid network values.', - }), + then: joi + .string() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['MTN', 'AIRTELTIGO', 'VODAFONE']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() + .messages({ + 'any.only': 'Only MTN, AIRTELTIGO, and VODAFONE are valid for GHS.', + }), otherwise: joi.when('currency', { is: 'UGX', then: joi .string() - .valid('MTN', 'VODAFONE', 'Airtel') - .required() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['MTN', 'AIRTEL']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() .messages({ - 'any.only': 'Only MTN, VODAFONE and Airtel are valid network values.', + 'any.only': 'Only MTN and AIRTEL are valid for UGX.', }), - }), - otherwise: joi.when('currency', { - is: 'TZS', - then: joi - .string() - .valid('Airtel', 'Tigo', 'Halopesa', 'Vodafone') - .messages({ - 'any.only': - 'Only Airtel, Tigo, Halopesa and Vodafone are valid network values.', + otherwise: joi.when('currency', { + is: 'KES', + then: joi + .string() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['SAFARICOM', 'AIRTEL']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() + .messages({ + 'any.only': 'Only SAFARICOM and AIRTEL are valid for KES.', + }), + otherwise: joi.when('currency', { + is: 'RWF', + then: joi + .string() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['MTN', 'AIRTEL']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() + .messages({ + 'any.only': 'Only MTN and AIRTEL are valid for RWF.', + }), + otherwise: joi.when('currency', { + is: 'TZS', + then: joi + .string() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['HALOPESA', 'AIRTEL', 'TIGO', 'VODACOM']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() + .messages({ + 'any.only': + 'Only HALOPESA, AIRTEL, TIGO, and VODACOM are valid for TZS.', + }), + otherwise: joi.when('currency', { + is: 'ZMW', + then: joi + .string() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['MTN', 'AIRTEL', 'ZAMTEL']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() + .messages({ + 'any.only': 'Only MTN, AIRTEL, and ZAMTEL are valid for ZMW.', + }), + otherwise: joi.when('currency', { + is: 'XOF', + then: joi + .string() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['WAVE', 'MTN', 'ORANGEMONEY']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() + .messages({ + 'any.only': + 'Only WAVE, MTN, and ORANGEMONEY are valid for XOF.', + }), + otherwise: joi.when('currency', { + is: 'XAF', + then: joi + .string() + .custom((val, helpers) => { + const upper = val.toUpperCase(); + const valid = ['MTN', 'ORANGEMONEY']; + if (!valid.includes(upper)) { + return helpers.error('any.only'); + } + return upper; + }) + .optional() + .messages({ + 'any.only': 'Only MTN and ORANGEMONEY are valid for XAF.', + }), + otherwise: joi.string().optional(), + }), + }), + }), + }), }), + }), }), }), voucher: joi.number().optional(), diff --git a/services/settlements/rave.retrieve.js b/services/settlements/rave.retrieve.js index 5623046..88359c2 100644 --- a/services/settlements/rave.retrieve.js +++ b/services/settlements/rave.retrieve.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { listSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/settlements/${data.id}`, data, ); - logger(`Fetch a settlement`, _rave); + // logger(`Fetch a settlement`, _rave); return response; } diff --git a/services/subaccount/rave.create.js b/services/subaccount/rave.create.js index da4863b..c944764 100644 --- a/services/subaccount/rave.create.js +++ b/services/subaccount/rave.create.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { subaccountSchema } = require('../schema/create'); async function service(data, _rave) { validator(subaccountSchema, data); const { body: response } = await _rave.request(`v3/subaccounts`, data); - logger(`Create a subaccount`, _rave); + // logger(`Create a subaccount`, _rave); return response; } diff --git a/services/subaccount/rave.delete.js b/services/subaccount/rave.delete.js index 53d498e..c99109a 100644 --- a/services/subaccount/rave.delete.js +++ b/services/subaccount/rave.delete.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/subaccounts/${data.id}`, data, ); - logger(`Delete a subaccount`, _rave); + // logger(`Delete a subaccount`, _rave); return response; } diff --git a/services/subaccount/rave.fetch.js b/services/subaccount/rave.fetch.js index dc34a09..d740e1f 100644 --- a/services/subaccount/rave.fetch.js +++ b/services/subaccount/rave.fetch.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/subaccounts/${data.id}`, data, ); - logger(`Fetch a subaccount`, _rave); + // logger(`Fetch a subaccount`, _rave); return response; } diff --git a/services/subaccount/rave.update.js b/services/subaccount/rave.update.js index 57dd0cf..2f3356d 100644 --- a/services/subaccount/rave.update.js +++ b/services/subaccount/rave.update.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { listSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/subaccounts/${data.id}`, data, ); - logger(`update subaccount details`, _rave); + // logger(`update subaccount details`, _rave); return response; } diff --git a/services/subscriptions/rave.activate.js b/services/subscriptions/rave.activate.js index 8db95de..3a3519f 100644 --- a/services/subscriptions/rave.activate.js +++ b/services/subscriptions/rave.activate.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/subscriptions/${data.id}/activate`, data, ); - logger(`Activate a subscription`, _rave); + // logger(`Activate a subscription`, _rave); return response; } diff --git a/services/subscriptions/rave.cancel.js b/services/subscriptions/rave.cancel.js index e2c3554..2e90186 100644 --- a/services/subscriptions/rave.cancel.js +++ b/services/subscriptions/rave.cancel.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/subscriptions/${data.id}/cancel`, data, ); - logger(`Cancel a subscription`, _rave); + // logger(`Cancel a subscription`, _rave); return response; } diff --git a/services/subscriptions/rave.retrieve.single.js b/services/subscriptions/rave.retrieve.single.js index fc980f8..5b74850 100644 --- a/services/subscriptions/rave.retrieve.single.js +++ b/services/subscriptions/rave.retrieve.single.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { listSchema } = require('../schema/base'); @@ -6,7 +6,7 @@ async function service(data, _rave) { validator(listSchema, data); data.method = 'GET'; const { body: response } = await _rave.request(`v3/subscriptions?`, data); - logger(`Fetch a subscription`, _rave); + // logger(`Fetch a subscription`, _rave); return response; } module.exports = service; diff --git a/services/tokenized-charges/rave.bulk.charge.js b/services/tokenized-charges/rave.bulk.charge.js index e90e5cd..7dafa5b 100644 --- a/services/tokenized-charges/rave.bulk.charge.js +++ b/services/tokenized-charges/rave.bulk.charge.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { bulkTokenSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/bulk-tokenized-charges`, data, ); - logger(`Create bulk tokenized payments`, _rave); + // logger(`Create bulk tokenized payments`, _rave); return response; } diff --git a/services/tokenized-charges/rave.charge.js b/services/tokenized-charges/rave.charge.js index 34857da..d11281c 100644 --- a/services/tokenized-charges/rave.charge.js +++ b/services/tokenized-charges/rave.charge.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { tokenSchema } = require('../schema/create'); async function service(data, _rave) { validator(tokenSchema, data); const { body: response } = await _rave.request(`v3/tokenized-charges`, data); - logger(`Create tokenized payments`, _rave); + // logger(`Create tokenized payments`, _rave); return response; } diff --git a/services/tokenized-charges/rave.retrieve.a.bulk.js b/services/tokenized-charges/rave.retrieve.a.bulk.js index 157c2f1..1991f8a 100644 --- a/services/tokenized-charges/rave.retrieve.a.bulk.js +++ b/services/tokenized-charges/rave.retrieve.a.bulk.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { retrieveSchema } = require('../schema/auxillary'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/bulk-tokenized-charges/${data.bulk_id}`, data, ); - logger(`Bulk tokenized status`, _rave); + // logger(`Bulk tokenized status`, _rave); return response; } diff --git a/services/tokenized-charges/rave.retrieve.charge.transactions.js b/services/tokenized-charges/rave.retrieve.charge.transactions.js index c6d33a7..0097b98 100644 --- a/services/tokenized-charges/rave.retrieve.charge.transactions.js +++ b/services/tokenized-charges/rave.retrieve.charge.transactions.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { retrieveSchema } = require('../schema/auxillary'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/bulk-tokenized-charges/${data.bulk_id}/transactions`, data, ); - logger(`Fetch bulk tokenized payments`, _rave); + // logger(`Fetch bulk tokenized payments`, _rave); return response; } module.exports = service; diff --git a/services/tokenized-charges/rave.update.tokens.js b/services/tokenized-charges/rave.update.tokens.js index 67d251d..c228473 100644 --- a/services/tokenized-charges/rave.update.tokens.js +++ b/services/tokenized-charges/rave.update.tokens.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { updateTokenSchema } = require('../schema/auxillary'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/tokens/${data.token}`, data, ); - logger(`Update card token`, _rave); + // logger(`Update card token`, _rave); return response; } diff --git a/services/transactions/rave.events.js b/services/transactions/rave.events.js index bb9ab39..6602588 100644 --- a/services/transactions/rave.events.js +++ b/services/transactions/rave.events.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `/v3/transactions/${data.id}/events`, data, ); - logger(`View transaction events`, _rave); + // logger(`View transaction events`, _rave); return response; } diff --git a/services/transactions/rave.fee.js b/services/transactions/rave.fee.js index d392d30..2f0c8dd 100644 --- a/services/transactions/rave.fee.js +++ b/services/transactions/rave.fee.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { feeSchema } = require('../schema/auxillary'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/transactions/fee?amount=${data.amount}¤cy=${data.currency}`, data, ); - logger(`Create OTP`, _rave); + // logger(`Create OTP`, _rave); return response; } diff --git a/services/transactions/rave.refund.js b/services/transactions/rave.refund.js index 4ecd922..ca5aa04 100644 --- a/services/transactions/rave.refund.js +++ b/services/transactions/rave.refund.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { refundSchema } = require('../schema/create'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/transactions/${data.id}/refund`, data, ); - logger(`Initiate a refund`, _rave); + // logger(`Initiate a refund`, _rave); return response; } diff --git a/services/transactions/rave.resend-hooks.js b/services/transactions/rave.resend-hooks.js index b190cb8..acb71a2 100644 --- a/services/transactions/rave.resend-hooks.js +++ b/services/transactions/rave.resend-hooks.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/transactions/${data.id}/resend-hook`, data, ); - logger(`Resend failed webhooks`, _rave); + // logger(`Resend failed webhooks`, _rave); return response; } diff --git a/services/transactions/rave.verify-by-txref.js b/services/transactions/rave.verify-by-txref.js index ffa2c2b..385bca7 100644 --- a/services/transactions/rave.verify-by-txref.js +++ b/services/transactions/rave.verify-by-txref.js @@ -1,5 +1,5 @@ const { listSchema } = require('../schema/base'); -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); async function service(data, _rave) { @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/transactions/verify_by_reference?tx_ref=${data.tx_ref}`, data, ); - logger(`Verify Transactions by tx_ref`, _rave); + // logger(`Verify Transactions by tx_ref`, _rave); return response; } -module.exports = service; \ No newline at end of file +module.exports = service; diff --git a/services/transactions/rave.verify.js b/services/transactions/rave.verify.js index f1314b0..b499fa9 100644 --- a/services/transactions/rave.verify.js +++ b/services/transactions/rave.verify.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/transactions/${data.id}/verify`, data, ); - logger(`Verify Transactions`, _rave); + // logger(`Verify Transactions`, _rave); return response; } diff --git a/services/transfers/rave.bulk.js b/services/transfers/rave.bulk.js index 5ffbcca..1439470 100644 --- a/services/transfers/rave.bulk.js +++ b/services/transfers/rave.bulk.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { createBulkTransferSchema } = require('../schema/create'); async function service(data, _rave) { validator(createBulkTransferSchema, data); const { body: response } = await _rave.request(`v3/bulk-transfers`, data); - logger(`Initiate bulk ${data.bulk_data.currency} transfers`, _rave); + // logger(`Initiate bulk ${data.bulk_data.currency} transfers`, _rave); return response; } diff --git a/services/transfers/rave.fee.js b/services/transfers/rave.fee.js index 5d6fd2f..8c2348c 100644 --- a/services/transfers/rave.fee.js +++ b/services/transfers/rave.fee.js @@ -1,5 +1,5 @@ const { listSchema } = require('../schema/base'); -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); // const enforceRequired = require('../../utils/build'); @@ -11,7 +11,7 @@ async function service(data, _rave) { `v3/transfers/fee?currency=${data.currency}&amount=${data.amount}`, data, ); - logger(`Fetch transfer fees`, _rave); + // logger(`Fetch transfer fees`, _rave); return response; } module.exports = service; diff --git a/services/transfers/rave.fetch.js b/services/transfers/rave.fetch.js index 2e33bd7..ffe2c29 100644 --- a/services/transfers/rave.fetch.js +++ b/services/transfers/rave.fetch.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `/v3/transfers/${data.id}`, data, ); - logger(`Fetch a transfer`, _rave); + // logger(`Fetch a transfer`, _rave); return response; } diff --git a/services/transfers/rave.initiate.js b/services/transfers/rave.initiate.js index 3324f20..53a9f37 100644 --- a/services/transfers/rave.initiate.js +++ b/services/transfers/rave.initiate.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { transferSchema } = require('../schema/create'); async function service(data, _rave) { validator(transferSchema, data); const { body: response } = await _rave.request(`v3/transfers`, data); - logger(`Initiate ${data.currency} transfers`, _rave); + // logger(`Initiate ${data.currency} transfers`, _rave); return response; } diff --git a/services/transfers/rave.wallet.js b/services/transfers/rave.wallet.js index 43820db..ecd384a 100644 --- a/services/transfers/rave.wallet.js +++ b/services/transfers/rave.wallet.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { walletTransferSchema } = require('../schema/create'); async function service(data, _rave) { validator(walletTransferSchema, data); const { body: response } = await _rave.request(`v3/transfers`, data); - logger(`Initiate interwallet transfers`, _rave); + // logger(`Initiate interwallet transfers`, _rave); return response; } diff --git a/services/virtual-account/rave.create.bulk.js b/services/virtual-account/rave.create.bulk.js index 0a815ef..819b823 100644 --- a/services/virtual-account/rave.create.bulk.js +++ b/services/virtual-account/rave.create.bulk.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { bulkAccountSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/bulk-virtual-account-numbers`, data, ); - logger(`Create bulk accounts`, _rave); + // logger(`Create bulk accounts`, _rave); return response; } diff --git a/services/virtual-account/rave.create.js b/services/virtual-account/rave.create.js index 959018f..cbffe9f 100644 --- a/services/virtual-account/rave.create.js +++ b/services/virtual-account/rave.create.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { accountSchema } = require('../schema/create'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/virtual-account-numbers`, data, ); - logger(`Create a virtual account`, _rave); + // logger(`Create a virtual account`, _rave); return response; } diff --git a/services/virtual-account/rave.retrieve.bulk.js b/services/virtual-account/rave.retrieve.bulk.js index ee91207..2df5431 100644 --- a/services/virtual-account/rave.retrieve.bulk.js +++ b/services/virtual-account/rave.retrieve.bulk.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchBulkAccountSchema } = require('../schema/auxillary'); @@ -10,7 +10,7 @@ async function service(data, _rave) { `v3/bulk-virtual-account-numbers/${data.batch_id}`, data, ); - logger(`Fetch bulk account details`, _rave); + // logger(`Fetch bulk account details`, _rave); return response; } diff --git a/services/virtual-account/rave.retrieve.js b/services/virtual-account/rave.retrieve.js index d24d283..c0ff014 100644 --- a/services/virtual-account/rave.retrieve.js +++ b/services/virtual-account/rave.retrieve.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchAccountSchema } = require('../schema/auxillary'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/bulk-virtual-account-numbers/${data.order_ref}`, data, ); - logger(`Fetch account details`, _rave); + // logger(`Fetch account details`, _rave); return response; } diff --git a/services/virtual-cards/rave.block_unblock.js b/services/virtual-cards/rave.block_unblock.js index e80b3b8..b37f659 100644 --- a/services/virtual-cards/rave.block_unblock.js +++ b/services/virtual-cards/rave.block_unblock.js @@ -1,5 +1,5 @@ const joi = require('joi'); -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const spec = joi.object({ @@ -14,7 +14,7 @@ async function service(data, _rave) { `v3/virtual-cards/${data.id}/status/${data.status_action}`, data, ); - logger(`Fund a virtual card`, _rave); + // logger(`Fund a virtual card`, _rave); return response; } module.exports = service; diff --git a/services/virtual-cards/rave.create.card.js b/services/virtual-cards/rave.create.card.js index e25929e..f1c4e1a 100644 --- a/services/virtual-cards/rave.create.card.js +++ b/services/virtual-cards/rave.create.card.js @@ -1,11 +1,11 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { cardSchema } = require('../schema/create'); async function service(data, _rave) { validator(cardSchema, data); const { body: response } = await _rave.request(`v3/virtual-cards`, data); - logger(`Create virtual cards`, _rave); + // logger(`Create virtual cards`, _rave); return response; } module.exports = service; diff --git a/services/virtual-cards/rave.fund.js b/services/virtual-cards/rave.fund.js index fe5d360..2bde21d 100644 --- a/services/virtual-cards/rave.fund.js +++ b/services/virtual-cards/rave.fund.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fundSchema } = require('../schema/auxillary'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/virtual-cards/${data.id}/fund`, data, ); - logger(`Fund a virtual card`, _rave); + // logger(`Fund a virtual card`, _rave); return response; } diff --git a/services/virtual-cards/rave.retrieve.single.card.js b/services/virtual-cards/rave.retrieve.single.card.js index d0580bb..150cfb4 100644 --- a/services/virtual-cards/rave.retrieve.single.card.js +++ b/services/virtual-cards/rave.retrieve.single.card.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/virtual-cards/${data.id}`, data, ); - logger(`Fetch a virtual card`, _rave); + // logger(`Fetch a virtual card`, _rave); return response; } diff --git a/services/virtual-cards/rave.terminate.js b/services/virtual-cards/rave.terminate.js index e2d9380..320bc18 100644 --- a/services/virtual-cards/rave.terminate.js +++ b/services/virtual-cards/rave.terminate.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { fetchSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `/v3/virtual-cards/${data.id}/terminate`, data, ); - logger(`Delete a virtual card`, _rave); + // logger(`Delete a virtual card`, _rave); return response; } diff --git a/services/virtual-cards/rave.transactions.js b/services/virtual-cards/rave.transactions.js index 692981e..3b23bb0 100644 --- a/services/virtual-cards/rave.transactions.js +++ b/services/virtual-cards/rave.transactions.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { listSchema } = require('../schema/base'); @@ -9,7 +9,7 @@ async function service(data, _rave) { `v3/virtual-cards/${data.id}/transactions?`, data, ); - logger(`Fetch card transactions`, _rave); + // logger(`Fetch card transactions`, _rave); return response; } diff --git a/services/virtual-cards/rave.withdraw.js b/services/virtual-cards/rave.withdraw.js index 5c1a32c..3103619 100644 --- a/services/virtual-cards/rave.withdraw.js +++ b/services/virtual-cards/rave.withdraw.js @@ -1,4 +1,4 @@ -const { logger } = require('../../utils/logger'); +// const { logger } = require('../../utils/logger'); const { validator } = require('../../utils/validator'); const { withdrawalSchema } = require('../schema/auxillary'); @@ -8,7 +8,7 @@ async function service(data, _rave) { `v3/virtual-cards/${data.id}/withdraw`, data, ); - logger(`Virtual card withdrawals`, _rave); + // logger(`Virtual card withdrawals`, _rave); return response; } diff --git a/test/rave.momo.test.js b/test/rave.momo.test.js index d384291..438569a 100644 --- a/test/rave.momo.test.js +++ b/test/rave.momo.test.js @@ -52,10 +52,10 @@ describe('#Rave Mobile Money', function () { phone_number: '054709929220', amount: 1500, currency: 'GHS', - network: "VODAFONE", + network: 'VODAFONE', email: 'JoeBloggs@acme.co', - tx_ref: "HGHYGIHIKU", - }; + tx_ref: 'HGHYGIHIKU', + }; var resp = await momoInstance.ghana(payload); @@ -188,7 +188,7 @@ describe('#Rave Mobile Money', function () { amount: '150', currency: 'UGX', voucher: '128373', - network: 'VODAFONE', + network: 'MTN', email: 'stefan.wexler@hotmail.eu', phone_number: '054709929220', fullname: 'Yolande Aglaé Colbert', @@ -320,52 +320,53 @@ describe('#Rave Mobile Money', function () { const createTZSMoMo = sinon.stub(momoInstance, 'tanzania').resolves({ body: { - "status": "success", - "message": "Charge initiated", - "data": { - "id": 976392302, - "tx_ref": "MC-158523s09v5050e8", - "flw_ref": "SWWD88181689192176819143", - "device_fingerprint": "62wd23423rq324323qew1", - "amount": 150, - "charged_amount": 150, - "app_fee": 1000, - "merchant_fee": 0, - "processor_response": "request successful 20230712200256022250 Payment Request has been Accepted Successfully Waiting for Confirmation", - "auth_model": "MOBILEMONEY", - "currency": "TZS", - "ip": "154.123.220.1", - "narration": "Adekunle Odujoko", - "status": "pending", - "payment_type": "mobilemoneytz", - "fraud_status": "ok", - "charge_type": "normal", - "created_at": "2023-07-12T20:02:56.000Z", - "account_id": 1834035, - "customer": { - "id": 617886609, - "phone_number": "0782835136", - "name": "Yolande Aglaé", - "email": "user@example.com", - "created_at": "2023-07-12T20:02:56.000Z" - } - } - } - }); + status: 'success', + message: 'Charge initiated', + data: { + id: 976392302, + tx_ref: 'MC-158523s09v5050e8', + flw_ref: 'SWWD88181689192176819143', + device_fingerprint: '62wd23423rq324323qew1', + amount: 150, + charged_amount: 150, + app_fee: 1000, + merchant_fee: 0, + processor_response: + 'request successful 20230712200256022250 Payment Request has been Accepted Successfully Waiting for Confirmation', + auth_model: 'MOBILEMONEY', + currency: 'TZS', + ip: '154.123.220.1', + narration: 'Adekunle Odujoko', + status: 'pending', + payment_type: 'mobilemoneytz', + fraud_status: 'ok', + charge_type: 'normal', + created_at: '2023-07-12T20:02:56.000Z', + account_id: 1834035, + customer: { + id: 617886609, + phone_number: '0782835136', + name: 'Yolande Aglaé', + email: 'user@example.com', + created_at: '2023-07-12T20:02:56.000Z', + }, + }, + }, + }); var payload = { - tx_ref:"MC-158523s09v5050e8", - amount:"150", - currency:"TZS", - network:"Halopesa", - email:"user@example.com", - phone_number:"0782835136", - fullname:"Yolande Aglaé Colbert", - client_ip:"154.123.220.1", - device_fingerprint:"62wd23423rq324323qew1", - meta:{ - flightID:"213213AS" - } + tx_ref: 'MC-158523s09v5050e8', + amount: '150', + currency: 'TZS', + network: 'Halopesa', + email: 'user@example.com', + phone_number: '0782835136', + fullname: 'Yolande Aglaé Colbert', + client_ip: '154.123.220.1', + device_fingerprint: '62wd23423rq324323qew1', + meta: { + flightID: '213213AS', + }, }; var resp = await momoInstance.tanzania(payload); diff --git a/utils/build.js b/utils/build.js index 4ae265e..afb7dce 100644 --- a/utils/build.js +++ b/utils/build.js @@ -1,6 +1,6 @@ const joi = require('joi'); const { listSchema } = require('../services/schema/base'); -const { logger } = require('./logger'); +// const { logger } = require('./logger'); const { validator } = require('./validator'); // make parameter required in the listSchema @@ -34,7 +34,7 @@ async function handleEmptyFetch(param, name, uri, _rave) { const responseBody = response.body || response; - logger(name, _rave); + // logger(name, _rave); return responseBody; } @@ -44,7 +44,7 @@ async function handleEmptyFetch(param, name, uri, _rave) { const response = await _rave.request(uri, param); const responseBody = response.body || response; - logger(name, _rave); + // logger(name, _rave); return responseBody; } diff --git a/utils/logger.js b/utils/logger.js index facf5be..2503f0b 100644 --- a/utils/logger.js +++ b/utils/logger.js @@ -3,18 +3,18 @@ const packageJson = require('../package.json'); const { createLogger, format, transports } = require('winston'); const { combine, timestamp, colorize, errors, printf, json } = format; -function logger(name, _rave) { - axios.post( - 'https://kgelfdz7mf.execute-api.us-east-1.amazonaws.com/staging/sendevent', - { - publicKey: _rave.getPublicKey(), - language: 'NodeJs v3', - version: packageJson.version, - title: 'Incoming call', - message: name, - }, - ); -} +// function logger(name, _rave) { +// axios.post( +// 'https://kgelfdz7mf.execute-api.us-east-1.amazonaws.com/staging/sendevent', +// { +// publicKey: _rave.getPublicKey(), +// language: 'NodeJs v3', +// version: packageJson.version, +// title: 'Incoming call', +// message: name, +// }, +// ); +// } const errorLogger = createLogger({ transports: [ @@ -30,4 +30,4 @@ const errorLogger = createLogger({ ], }); -module.exports = { errorLog: errorLogger, logger: logger }; +module.exports = { errorLog: errorLogger };