dkforest

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

commit 779e61fd93805d67b2086a831193fe9b448ef756
parent 895ae566fabd3439fc20dc19846bec4b72477a8b
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu,  7 Dec 2023 19:21:21 -0500

prevent multi seat

Diffstat:
Mpkg/web/handlers/poker/poker.go | 8++++++++
1 file changed, 8 insertions(+), 0 deletions(-)

diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go @@ -282,6 +282,11 @@ func rotateIdx[T any](players []T) int { } func (g *PokerGame) SitPlayer(authUser *database.User, pos int) error { + for _, p := range g.Players { + if p != nil && p.Username == authUser.Username.String() { + return errors.New("player already seated") + } + } if g.Players[pos] != nil { return errors.New("seat already taken") } @@ -728,6 +733,9 @@ END: for idx := range g.Players { if g.Players[idx] != nil { op := g.Ongoing.GetPlayer(g.Players[idx].Username) + if op == nil { + continue + } g.Players[idx].Cash = op.Cash // TODO: need to figure out how to prevent double spend if user, err := db.GetUserByUsername(database.Username(op.Username)); err == nil {