avoid extra API call if not required
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Steven Polley 2023-11-13 18:45:35 -07:00
parent 81672fbd19
commit 5eea9ede3a
1 changed files with 4 additions and 0 deletions

View File

@ -54,6 +54,10 @@ func (c *Client) SetAccountBalance(accountID string, balance int) error {
return fmt.Errorf("failed to get ynab account with id '%s': %v", accountID, err)
}
if balance == ynabAccount.Data.Account.Balance {
return nil // The YNAB account already has the balance we're requesting, so there is no need to do anything
}
balanceDelta := balance - ynabAccount.Data.Account.Balance
balanceDelta += ynabTransactionAmount // Take into account the existing transaction
if balanceDelta == 0 {