commit efcb4377bbda818fad123a266711936680a386c8
parent cbafa3b818ecffc9fb9949d38fff67fc5a0d1f8d
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 18 Dec 2023 15:03:38 -0500
ensure to get fresh data
Diffstat:
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")
}