UNPKG

@cenoa/waas-js-sdk

Version:

Official Cenoa Wallet as a Service SDK

176 lines (175 loc) 7.21 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AxiosHelper = void 0; const axios_1 = __importDefault(require("axios")); const utils_1 = require("../utils"); const AdministrativeApi = __importStar(require("./administrative")); const UsersApi = __importStar(require("./users")); const WalletApi = __importStar(require("./wallet")); const TransfersApi = __importStar(require("./transfers")); const DepositsApi = __importStar(require("./deposits")); const WithdrawsApi = __importStar(require("./withdraws")); const ReinvestApi = __importStar(require("./reinvests")); const BASE_URLS = { production: 'https://waas.api.cenoa.com/v1', sandbox: 'https://sandbox.waas.api.cenoa.net/v1', }; class AxiosHelper { constructor(sdkVersion, sdkInitOptions) { const { environment, axiosConfig, apiKey, apiSecret } = sdkInitOptions; this.instance = axios_1.default.create(Object.assign({ baseURL: environment ? BASE_URLS[environment] : BASE_URLS.production }, axiosConfig)); this.sdkVersion = sdkVersion; this.apiKey = apiKey; this.apiSecret = apiSecret; // Add an interceptor to modify the headers for all requests this.instance.interceptors.request.use((config) => { const { payload, signature } = (0, utils_1.generatePayloadAndSignature)(this.apiSecret, config.data); config.headers['sdk-version'] = this.sdkVersion; config.headers['apikey'] = this.apiKey; config.headers['payload'] = payload; config.headers['signature'] = signature; return config; }); } registerWebhookURL(url) { return Promise.all([ AdministrativeApi.registerDepositWebhookURL(this.instance, { url: url, active: true, }), AdministrativeApi.registerWithdrawWebhookURL(this.instance, { url: url, active: true, }), ]); } userCreationIntention(payload) { return UsersApi.userCreationIntention(this.instance, payload); } otpValidation(payload) { return UsersApi.otpValidation(this.instance, payload); } createUser(payload) { return UsersApi.createUser(this.instance, payload); } getUser(cenoaUserId) { return UsersApi.getUser(this.instance, cenoaUserId); } getUsers(payload) { return UsersApi.getUsers(this.instance, payload); } setUserWallet(payload) { return WalletApi.setUserWallet(this.instance, payload); } getUserWallet(payload) { return WalletApi.getUserWallet(this.instance, payload); } getUserWalletSecret(payload) { return WalletApi.getUserWalletSecret(this.instance, payload); } setPartnerWallet(payload) { return WalletApi.setPartnerWallet(this.instance, payload); } getPartnerWallet() { return WalletApi.getPartnerWallet(this.instance); } getSignCredentialsForTransfer(payload) { return TransfersApi.getSignCredentialsForTransfer(this.instance, payload); } transfer(payload) { return TransfersApi.transfer(this.instance, payload); } getTransferStatus(payload) { return TransfersApi.getTransferStatus(this.instance, payload); } getUserTransferTransactions(payload) { return TransfersApi.getUserTransferTransactions(this.instance, payload); } initiateDepositTransaction(payload) { return DepositsApi.getOnrampWebUIURL(this.instance, payload); } getSignCredentialsForUserDeposit(payload) { return DepositsApi.getSignCredentialsForUserDeposit(this.instance, payload); } patchDepositWithSignature(payload) { return DepositsApi.patchUserDeposit(this.instance, payload); } getUserDepositTransaction(payload) { return DepositsApi.getUserDepositTransaction(this.instance, payload); } getUserDepositTransactions(payload) { return DepositsApi.getUserDepositTransactions(this.instance, payload); } initiateWithdrawTransaction(payload) { return WithdrawsApi.getOfframpWebUIURL(this.instance, payload); } getSignCredentialsForUserWithdraw(payload) { return WithdrawsApi.getSignCredentialsForUserWithdraw(this.instance, payload); } patchWithdrawWithSignature(payload) { return WithdrawsApi.patchWithdraw(this.instance, payload); } getUserWithdrawTransaction(payload) { return WithdrawsApi.getUserWithdrawTransaction(this.instance, payload); } getUserWithdrawTransactions(payload) { return WithdrawsApi.getUserWithdrawTransactions(this.instance, payload); } getSignCredentialsForPartnerDeposit(payload) { return DepositsApi.getSignCredentialsForPartnerDeposit(this.instance, payload); } patchPartnerDeposit(payload) { return DepositsApi.patchPartnerDeposit(this.instance, payload); } getPartnerDepositTransaction(payload) { return DepositsApi.getPartnerDepositTransaction(this.instance, payload); } getSignCredentialsForPartnerWithdraw(payload) { return WithdrawsApi.getSignCredentialsForPartnerWithdraw(this.instance, payload); } patchPartnerWithdraw(payload) { return WithdrawsApi.patchPartnerWithdraw(this.instance, payload); } getPartnerWithdrawTransaction(payload) { return WithdrawsApi.getPartnerWithdrawTransaction(this.instance, payload); } getPartnerDepositTransactions(payload) { return DepositsApi.getPartnerDepositTransactions(this.instance, payload); } getPartnerWithdrawTransactions(payload) { return WithdrawsApi.getPartnerWithdrawTransactions(this.instance, payload); } getSignCredentialsForReinvest() { return ReinvestApi.getSignCredentialsForReinvest(this.instance); } patchReinvestWithSignature(payload) { return ReinvestApi.patchReinvest(this.instance, payload); } } exports.AxiosHelper = AxiosHelper;