From cb335639dd151d149fa7d5bc5d8d033a096115c3 Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Sun, 15 Dec 2024 02:43:59 -0700 Subject: [PATCH] i think it is all todoed out --- cmd/server/games.go | 4 ++++ cmd/server/ws.go | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/cmd/server/games.go b/cmd/server/games.go index 32811df..46ddeaf 100644 --- a/cmd/server/games.go +++ b/cmd/server/games.go @@ -61,6 +61,10 @@ func (games Games) GamesForUser(ctx context.Context, id string) ([]string, error return result, err } +func (games Games) UpdateUserName(ctx context.Context, id, name string) error { + return games.db.Exec(ctx, `UPDATE users SET name=? WHERE uuid=?`, name, id) +} + func (games Games) UserName(ctx context.Context, id string) (string, error) { result := "" err := games.db.Query(ctx, func(rows *sql.Rows) error { diff --git a/cmd/server/ws.go b/cmd/server/ws.go index 84d29b6..2ae96a3 100644 --- a/cmd/server/ws.go +++ b/cmd/server/ws.go @@ -49,6 +49,44 @@ func (s *S) serveWS(w http.ResponseWriter, r *http.Request) error { return } log.Printf("READ %s", b) + + var m map[string]string + if err := json.Unmarshal(b, &m); err != nil { + log.Println(err) + return + } + log.Printf("UNMARSHAL %+v", m) + + if m["party"] == "start" { + if gameState, err := s.games.GameState(ctx, game); err != nil { + log.Println(err) + return + } else if gameState.Started { + } else if err := s.games.CreateEventAssignmentRotation(ctx, game, "", "", "", 0); err != nil { + log.Println(err) + return + } + } else if m["k"] != "" { + log.Println("TODO a kill occurred") + return + } else if name := m["name"]; name != "" { + if err := s.games.UpdateUserName(ctx, s.Session(ctx).ID, name); err != nil { + log.Println(err) + return + } + } else if m["again"] == "true" { + if gameState, err := s.games.GameState(ctx, game); err != nil { + log.Println(err) + return + } else if gameState.Completed.IsZero() { + } else { + log.Println("TODO new game") + return + } + } else { + log.Printf("UNKNOWN: %+v", m) + return + } } }()