dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit efcb4377bbda818fad123a266711936680a386c8
parent cbafa3b818ecffc9fb9949d38fff67fc5a0d1f8d
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Mon, 18 Dec 2023 15:03:38 -0500

ensure to get fresh data

Diffstat:
Mpkg/database/tableUsers.go | 9+++++++++
Mpkg/web/handlers/handlers.go | 6+++++-
2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/pkg/database/tableUsers.go b/pkg/database/tableUsers.go @@ -673,6 +673,15 @@ func (u *User) GetImage() (image.Image, error) { return b, nil } +func (u *User) GetBalances(db *DkfDB) (xmrBalance Piconero, chipsTest PokerChip, err error) { + var tmp struct { + XmrBalance Piconero + ChipsTest PokerChip + } + err = db.db.Table("users").Select("xmr_balance, chips_test").First(&tmp, "id = ?", u.ID).Error + return tmp.XmrBalance, tmp.ChipsTest, err +} + func (u *User) GetXmrBalance(db *DkfDB) (amount Piconero, err error) { var tmp struct{ XmrBalance Piconero } err = db.db.Table("users").Select("xmr_balance").First(&tmp, "id = ?", u.ID).Error diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go @@ -862,7 +862,11 @@ func PokerHomeHandler(c echo.Context) error { if playerBuyIn > pokerTable.MaxBuyIn { return errors.New("buy in too high") } - userChips := authUser.GetUserChips(pokerTable.IsTest) + xmrBalance, chipsTestBalance, err := authUser.GetBalances(tx) + if err != nil { + return errors.New("failed to get user's balance") + } + userChips := utils.Ternary(pokerTable.IsTest, chipsTestBalance, xmrBalance.ToPokerChip()) if userChips < playerBuyIn { return errors.New("not enough chips to buy-in") }