From 4b06f49cd6d4f9ffc730cc85847a1d7a2e22898c Mon Sep 17 00:00:00 2001 From: Mendel E Date: Wed, 8 Jun 2022 06:24:27 -0400 Subject: [PATCH] Make pfin.Transaction.Amount() consistent --- parser/amex/interface.go | 3 ++- parser/capitalone/interface.go | 6 +++--- parser/personal/interface.go | 1 + transaction.go | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/parser/amex/interface.go b/parser/amex/interface.go index 5f277a2..70f771d 100644 --- a/parser/amex/interface.go +++ b/parser/amex/interface.go @@ -11,7 +11,8 @@ func (tx Transaction) Date() time.Time { } func (tx Transaction) Amount() float64 { - return tx.Raw.Amount + // amex is inverted, positive is debit, negative is credit + return -tx.Raw.Amount } func (tx Transaction) Name() string { diff --git a/parser/capitalone/interface.go b/parser/capitalone/interface.go index d1955b1..eadd04d 100644 --- a/parser/capitalone/interface.go +++ b/parser/capitalone/interface.go @@ -13,17 +13,17 @@ func (tx Transaction) Date() time.Time { func (tx Transaction) Amount() float64 { if tx.Debit != 0 { - return tx.Debit + return -tx.Debit } if tx.Credit != 0 { - return -tx.Credit + return tx.Credit } // TODO panic("both credit and debit are zero: " + fmt.Sprintln(tx)) - return tx.Debit + return -tx.Debit } func (tx Transaction) Name() string { diff --git a/parser/personal/interface.go b/parser/personal/interface.go index d083857..7d68f6b 100644 --- a/parser/personal/interface.go +++ b/parser/personal/interface.go @@ -11,6 +11,7 @@ func (tx Transaction) Date() time.Time { } func (tx Transaction) Amount() float64 { + // TODO: should it be negative? return tx.Raw.Amount } diff --git a/transaction.go b/transaction.go index a8ad6ca..18aca01 100644 --- a/transaction.go +++ b/transaction.go @@ -6,7 +6,7 @@ import ( type Transaction interface { Date() time.Time - Amount() float64 + Amount() float64 // positive for credit, negative for debit Name() string Category() string -- 2.34.2