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
JavaScript
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, };