UNPKG

@nkhind/vivawallet-sdk

Version:
124 lines (123 loc) 4.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const axiosInstance_ts_1 = require("../utils/axiosInstance.ts"); const functions_1 = require("../utils/functions"); const VivaAuth_class_1 = require("../vivabases/VivaAuth.class"); class VivaTransactions extends VivaAuth_class_1.VivaAuth { constructor(datas) { super(datas); } /** ------------------ TRANSACTION ------------------ */ /** Return the transaction if exist, or `null` if error/not exist */ async getTransactionById(transactionId) { try { const vivaToken = (await this.getVivaToken()).data; const response = await axiosInstance_ts_1.useAxios.get(this.endpoints.transaction.get.url.replace('{transactionId}', transactionId), { headers: { Authorization: 'Bearer ' + vivaToken, }, }); if (!response.data) { if (this.errorLogs) console.error('Vivawallet returned no transaction data', response.data); return { success: false, message: 'Vivawallet returned no transaction data', code: 'nodatas', data: null, }; } return { success: true, message: 'Transaction retrieved successfully', data: response.data, }; } catch (e) { if (this.errorLogs) console.error('VivaTransactions.getTransactionById', e); return { success: false, message: 'Failed to get transaction by ID', code: 'error', data: null, }; } } /** Make transaction by transactionId */ async makeTransaction(options) { try { const transactionUrl = this.endpoints.transaction.create.url.replace('{transactionId}', options.id); const response = await axiosInstance_ts_1.useAxios.post(transactionUrl, options, { headers: { Authorization: 'Bearer ' + this.getVivaBasicToken(), }, }); if (!response.data) { if (this.errorLogs) console.error('Vivawallet returned no created transaction data', response.data); return { success: false, message: 'Vivawallet returned no created transaction data', code: 'nodatas', data: null, }; } return { success: true, message: 'Transaction created successfully', data: response.data, }; } catch (e) { if (this.errorLogs) console.error('VivaTransactions.makeTransaction', e); return { success: false, message: 'Failed to create transaction', code: 'error', data: null, }; } } /** Allow cancel transaction (refund) */ async cancelTransaction(transactionId, refundOptions) { try { const vivaToken = this.getVivaBasicToken(); const queries = (0, functions_1.querifyDatas)(refundOptions); const response = await axiosInstance_ts_1.useAxios.delete(this.endpoints.transaction.cancel.url.replace('{transactionId}', transactionId) + '?' + queries, { headers: { Authorization: 'Bearer ' + vivaToken, }, }); if (!response.data) { if (this.errorLogs) console.error('Vivawallet returned no canceled transaction data', response.data); return { success: false, message: 'Vivawallet returned no canceled transaction data', code: 'nodatas', data: null, }; } return { success: true, message: 'Transaction canceled successfully', data: response.data, }; } catch (e) { if (this.errorLogs) console.error('VivaTransactions.cancelTransaction', e); return { success: false, message: 'Failed to cancel transaction', code: 'error', data: null, }; } } } exports.default = VivaTransactions;