From 130f8122b67f5ee5303a523d515141d3f934eb3a Mon Sep 17 00:00:00 2001 From: Bel LaPointe <153096461+breel-render@users.noreply.github.com> Date: Sun, 15 Dec 2024 01:45:25 -0700 Subject: [PATCH] complete game pls --- cmd/server/games.go | 19 ++++++++++++++----- cmd/server/games_test.go | 8 ++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/cmd/server/games.go b/cmd/server/games.go index 05f3fc5..4b2211a 100644 --- a/cmd/server/games.go +++ b/cmd/server/games.go @@ -250,11 +250,11 @@ func (games Games) CreateGame(ctx context.Context, name string) (string, error) func (games Games) CreateEventPlayerJoin(ctx context.Context, id string, player string) error { if err := games.db.Exec(ctx, ` - INSERT INTO players ( - game_uuid, - user_uuid - ) VALUES (?, ?) - `, id, player); err != nil { + INSERT INTO players ( + game_uuid, + user_uuid + ) VALUES (?, ?) + `, id, player); err != nil { return err } return games.createEvent(ctx, id, EventPlayerJoin{Type: PlayerJoin, ID: player}) @@ -337,10 +337,19 @@ func (games Games) CreateEventAssignmentRotation(ctx context.Context, id string, }() { } + // TODO generate .Global, .Assignments.Public, .Assignments.Private and + return games.createEvent(ctx, id, event) } func (games Games) CreateEventGameComplete(ctx context.Context, id string) error { + if err := games.db.Exec(ctx, ` + UPDATE games + SET completed=?, updated=? + WHERE uuid=? + `, time.Now(), time.Now(), id); err != nil { + return err + } return games.createEvent(ctx, id, EventGameComplete{Type: GameComplete}) } diff --git a/cmd/server/games_test.go b/cmd/server/games_test.go index 93d8c6d..b1acace 100644 --- a/cmd/server/games_test.go +++ b/cmd/server/games_test.go @@ -104,5 +104,13 @@ func TestGames(t *testing.T) { } } } + + if err := games.CreateEventGameComplete(ctx, id); err != nil { + t.Fatal("err creating game complete:", err) + } else if state, err := games.GameState(ctx, id); err != nil { + t.Fatal("err fetching state after completing:", err) + } else if state.Completed.IsZero() { + t.Fatal("state.Completed is zero") + } }) }