commit 63e2fd5b0cea949580bda0a28f85aa85c2e937aa
parent f332b7af85ce68baa5e04dd4dd749db71ab9a2f7
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 18 Dec 2023 15:25:34 -0500
use user id
Diffstat:
2 files changed, 24 insertions(+), 23 deletions(-)
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -849,7 +849,7 @@ func PokerHomeHandler(c echo.Context) error {
if g := poker.PokerInstance.GetGame(poker.RoomID(pokerTableSlug)); g != nil {
g.Players.Lock()
defer g.Players.Unlock()
- if g.IsSeated2(authUser.Username) {
+ if g.IsSeated2(authUserID) {
return errors.New("cannot buy-in while seated")
}
}
@@ -899,7 +899,7 @@ func PokerHomeHandler(c echo.Context) error {
if g := poker.PokerInstance.GetGame(poker.RoomID(pokerTableSlug)); g != nil {
g.Players.Lock()
defer g.Players.Unlock()
- if g.IsSeated2(authUser.Username) {
+ if g.IsSeated2(authUserID) {
return errors.New("cannot cash out while seated")
}
}
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -344,35 +344,35 @@ func (g *Ongoing) CountAlivePlayers() (playerAlive int) {
return
}
-func (g *Ongoing) GetPlayer(player database.Username) *PokerPlayer {
+func (g *Ongoing) GetPlayer(userID database.UserID) *PokerPlayer {
for _, p := range g.Players {
- if p.Username == player {
+ if p.UserID == userID {
return p
}
}
return nil
}
-func getPlayer(players []*SeatedPlayer, username database.Username) (out *SeatedPlayer) {
+func getPlayer(players []*SeatedPlayer, userID database.UserID) (out *SeatedPlayer) {
for _, p := range players {
- if p != nil && p.Username == username {
+ if p != nil && p.UserID == userID {
return p
}
}
return
}
-func (g *PokerGame) IsSeated(player database.Username) (out bool) {
- g.Players.RWith(func(gPlayers *[]*SeatedPlayer) { out = isSeated(*gPlayers, player) })
+func (g *PokerGame) IsSeated(userID database.UserID) (out bool) {
+ g.Players.RWith(func(gPlayers *[]*SeatedPlayer) { out = isSeated(*gPlayers, userID) })
return
}
-func (g *PokerGame) IsSeated2(player database.Username) bool {
- return isSeated(*g.Players.Val(), player)
+func (g *PokerGame) IsSeated2(userID database.UserID) bool {
+ return isSeated(*g.Players.Val(), userID)
}
-func isSeated(players []*SeatedPlayer, player database.Username) bool {
- return getPlayer(players, player) != nil
+func isSeated(players []*SeatedPlayer, userID database.UserID) bool {
+ return getPlayer(players, userID) != nil
}
func isRoundSettled(players []*PokerPlayer) bool {
@@ -417,16 +417,16 @@ func (g *PokerGame) incrDealerIdx() (smallBlindIdx, bigBlindIdx int) {
return
}
-func (g *PokerGame) UnSitPlayer(username database.Username) error {
+func (g *PokerGame) UnSitPlayer(userID database.UserID) error {
ongoing := g.Ongoing
if ongoing != nil {
- if p := ongoing.GetPlayer(username); p != nil {
+ if p := ongoing.GetPlayer(userID); p != nil {
p.Unsit.Store(true)
}
}
err := g.Players.WithE(func(gPlayers *[]*SeatedPlayer) error {
- p := getPlayer(*gPlayers, username)
+ p := getPlayer(*gPlayers, userID)
if p == nil {
return errors.New("player is not sit")
}
@@ -439,9 +439,9 @@ func (g *PokerGame) UnSitPlayer(username database.Username) error {
func (g *PokerGame) UnSitPlayer1(seatedPlayer *SeatedPlayer) {
ongoing := g.Ongoing
roomTopic := g.RoomID.Topic()
- seatedPlayerUsername := seatedPlayer.Username
+ seatedPlayerUserID := seatedPlayer.UserID
if ongoing != nil {
- if player := ongoing.GetPlayer(seatedPlayerUsername); player != nil {
+ if player := ongoing.GetPlayer(seatedPlayerUserID); player != nil {
select {
case g.PlayersEventCh <- PlayerEvent{Player: player.Username, Unsit: true}:
default:
@@ -1144,7 +1144,7 @@ func autoUnsitInactivePlayers(g *PokerGame) {
} else if p.LastActionTS.Before(ongoing.CreatedAt) {
// If the player was playing the game, must be booted if he had the chance to make actions and did not.
// If the player was not playing the game, must be booted if he's not eligible to play the next one.
- op := ongoing.GetPlayer(p.Username)
+ op := ongoing.GetPlayer(p.UserID)
playerShallBeBooted = (op != nil && op.countChancesToAction > 0) ||
(op == nil && !pIsEligible)
}
@@ -1515,7 +1515,7 @@ func PokerUnSitHandler(c echo.Context) error {
return c.NoContent(http.StatusNotFound)
}
if c.Request().Method == http.MethodPost {
- if err := g.UnSitPlayer(authUser.Username); err == nil {
+ if err := g.UnSitPlayer(authUser.ID); err == nil {
PokerPubSub.Pub(roomTopic, PokerSeatLeftEvent{})
g.newLogEvent(fmt.Sprintf("%s un-sit", authUser.Username.String()))
}
@@ -1555,7 +1555,7 @@ func PokerSitHandler(c echo.Context) error {
if tableAccount.Amount < pokerTable.MinBet {
return errors.New(fmt.Sprintf("not enough chips to sit. have: %d, need: %d", tableAccount.Amount, pokerTable.MinBet))
}
- if isSeated(*gPlayers, authUser.Username) {
+ if isSeated(*gPlayers, authUser.ID) {
return errors.New("player already seated")
}
if (*gPlayers)[pos] != nil {
@@ -1863,7 +1863,7 @@ func buildSeatsHtml(g *PokerGame, authUser *database.User) (html string) {
func drawSeatsStyle(authUser *database.User, g *PokerGame) string {
ongoing := g.Ongoing
html := "<style>"
- seated := g.IsSeated(authUser.Username)
+ seated := g.IsSeated(authUser.ID)
g.Players.RWith(func(players *[]*SeatedPlayer) {
for i, p := range *players {
if p != nil || seated {
@@ -1872,14 +1872,15 @@ func drawSeatsStyle(authUser *database.User, g *PokerGame) string {
html += `.takeSeat` + itoa(i+1) + ` { display: block; }`
}
if p != nil {
+ pUserID := p.UserID
pUsername := p.Username
- if pUsername == authUser.Username {
+ if pUserID == authUser.ID {
html += `#seat` + itoa(i+1) + ` { border: 2px solid #0d1b8f; }`
}
html += `#seat` + itoa(i+1) + ` .inner:before { content: "` + pUsername.String() + `"; }`
html += `#seat` + itoa(i+1) + `_cash:before { content: "` + itoa2(p.GetCash()) + `"; }`
if ongoing != nil {
- if op := ongoing.GetPlayer(pUsername); op != nil && op.GetBet() > 0 {
+ if op := ongoing.GetPlayer(pUserID); op != nil && op.GetBet() > 0 {
html += `#seat` + itoa(i+1) + `Pot:before { content: "` + itoa2(op.GetBet()) + `"; }`
}
}