UNPKG

ggez-banking-sdk

Version:

A Node.js package to handle GGEZ Banking API endpoints, Simplify the process of managing CRUD operations with this efficient and easy-to-use package.

191 lines (190 loc) 5.3 kB
const createDefaultTransactionData = (overrides) => ({ result: null, notes: null, last_activity: null, authentication: null, validate: null, function_code: null, response_time: null, time_zone: null, time_zone_name: null, info: null, account: null, blockchain: null, fee: null, tax: null, conversion: null, exchange: null, transfer: null, credit_card: null, bank_accounts: [], bank_account: null, crypto_wallet: null, payment_info: null, payment_gateway: null, crypto_address: null, orderData: null, payment_crypto_address: [], custom_field: null, geo_coordinates: null, history: [], ...overrides, }); const createDefaultTransactionInquiryResultData = (overrides) => ({ result: null, notes: null, last_activity: null, authentication: null, validate: null, function_code: null, response_time: null, time_zone: null, time_zone_name: null, result_set: null, transaction_inquiry: null, end_point_url: null, transactions: null, archive: null, ...overrides, }); const fillTransactionInquiryData = (data) => { const transactionInquiryData = { status: data.status, page_size: data.page_size, from_date: data.from_date, to_date: data.to_date, start_index: data.start_index, transaction_type: data.transaction_type, account_id: data.account_id, transaction_classification: data.transaction_classification, }; return transactionInquiryData; }; // const fillCreateTransactionData = (data: ICreateTransactionData) => { // const transactionData = { // info: { // type: data.type, // amount: data.amount, // currency: data.currency, // notes: data.note, // wire_transfer_type: data.wireTransferType, // request_id: data?.requestId, // }, // account: { // info: { // id: data.accountId, // }, // }, // blockchain: // data.type === TransactionType.System_Blockchain_Load // ? { // transaction_hash: data?.blockchainHash, // network_id: data?.blockchainNetworkId, // account_info: { // id: data?.blockchainAccountId, // }, // } // : null, // validate: data.validate, // bank_account: { // id: data?.bankId, // }, // } as TransactionData; // return transactionData; // }; const fillCreateBlockchainTransactionData = (data) => { const transactionData = { info: { type: data.type, amount: data.amount, currency: data.currency, notes: data.note, request_id: data?.requestId, }, account: { info: { id: data.accountId, }, }, blockchain: { transaction_hash: data?.blockchainHash, network_id: data?.blockchainNetworkId, account_info: { id: data?.blockchainAccountId, }, }, validate: data.validate, bank_account: { id: data?.bankId, }, }; return transactionData; }; const fillCreateBlockchainTransferTransactionData = (data) => { const transactionData = { info: { type: data.type, amount: data.amount, currency: data.currency, notes: data.note, }, account: { info: { id: data.accountId, }, }, transfer: { account_info: { chain_address: data?.receiverChainAddress, }, }, validate: data.validate, authentication: data.authentication, }; return transactionData; }; const fillCreateGatewayCryptoTransactionData = (data) => { return createDefaultTransactionData({ info: { type: data.type, amount: data.amount, currency: data.currency, notes: data.note, }, account: { info: { id: data.accountId, }, }, validate: data.validate, bank_account: { type: data.bankAccountType, holder_name: data.holderName, currency_code: data.bankCurrencyCode, number: data.bankAccountNumber, sort_code: data.bankSortCode, }, }); }; const fillCreateSystemTransactionData = (data) => { const transactionData = { info: { type: data.type, amount: data.amount, currency: data.currency, notes: data.note, wire_transfer_type: data.wireTransferType, }, account: { info: { id: data.accountId, }, }, validate: data.validate, bank_account: { id: data.bankId, }, }; return transactionData; }; export { createDefaultTransactionData, createDefaultTransactionInquiryResultData, fillTransactionInquiryData, fillCreateSystemTransactionData, fillCreateGatewayCryptoTransactionData, fillCreateBlockchainTransactionData, fillCreateBlockchainTransferTransactionData, };