commit 3e56927b2f51c326e8b70d5026a4151109d1adbe
parent f6c8b72f59369134e3097c382efc3f8fec18a5f7
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 18 Dec 2023 15:15:55 -0500
cleanup
Diffstat:
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/pkg/database/tableUsers.go b/pkg/database/tableUsers.go
@@ -682,6 +682,15 @@ func (d *DkfDB) GetUserBalances(userID UserID) (xmrBalance Piconero, chipsTest P
return tmp.XmrBalance, tmp.ChipsTest, err
}
+func (d *DkfDB) DecrUserBalance(userID UserID, isTest bool, amount PokerChip) (err error) {
+ if isTest {
+ err = d.db.Exec(`UPDATE users SET chips_test = chips_test - ? WHERE id = ?`, amount, userID).Error
+ } else {
+ err = d.db.Exec(`UPDATE users SET xmr_balance = xmr_balance - ? WHERE id = ?`, amount.ToPiconero(), userID).Error
+ }
+ return
+}
+
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
@@ -879,9 +879,12 @@ func PokerHomeHandler(c echo.Context) error {
return errors.New("buy-in exceed table max buy-in")
}
tableAccount.Amount += playerBuyIn
- authUser.IncrUserChips(pokerTable.IsTest, playerBuyIn, true)
- authUser.DoSave(tx)
- tableAccount.DoSave(tx)
+ if err := tx.DecrUserBalance(authUserID, pokerTable.IsTest, playerBuyIn); err != nil {
+ return errors.New("failed to update user's balance")
+ }
+ if err := tableAccount.Save(tx); err != nil {
+ return errors.New("failed to update user's table account")
+ }
return nil
}); err != nil {
data.ErrorTable = err.Error()