From c467866d8eb9634f2cc7c441ee3735c49e6970d2 Mon Sep 17 00:00:00 2001 From: mat Date: Sun, 20 Mar 2022 20:58:01 -0500 Subject: Add bank history --- src/cleaners/skyblock/bank.ts | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'src/cleaners/skyblock/bank.ts') diff --git a/src/cleaners/skyblock/bank.ts b/src/cleaners/skyblock/bank.ts index 4735bec..b1a9e38 100644 --- a/src/cleaners/skyblock/bank.ts +++ b/src/cleaners/skyblock/bank.ts @@ -1,13 +1,38 @@ export interface Bank { balance: number - history: any[] + history: BankHistoryItem[] +} + +export interface BankHistoryItem { + change: number + total: number + timestamp: number + name: string } export function cleanBank(data: any): Bank { + let history: BankHistoryItem[] = [] + + if (data?.banking?.transactions) { + let bankBalance = Math.round(data.banking.balance * 10) / 10 + // we go in reverse so we can simulate the bank transactions + for (const transaction of data.banking.transactions.sort((a, b) => b.timestamp - a.timestamp)) { + const change = transaction.action === 'DEPOSIT' ? transaction.amount : -transaction.amount + // since we're going in reverse, we remove from the total balance when adding to the history + bankBalance -= change + history.push({ + change: change, + total: bankBalance, + timestamp: transaction.timestamp, + name: transaction.initiator_name, + }) + } + } + + history.reverse() + return { balance: data?.banking?.balance ?? 0, - // TODO: make transactions good - // history: data?.banking?.transactions ?? [] - history: [] + history } } \ No newline at end of file -- cgit