refactor: add save()/savePlayer() methods on game instances
All checks were successful
CI / Deploy / test (pull_request) Successful in 14s
CI / Deploy / lint (pull_request) Successful in 25s
CI / Deploy / deploy (pull_request) Has been skipped

Wrap free persistence functions in instance methods for cleaner call
sites (gi.save() instead of saveGame(gi.queries, gi.game)). Methods
log errors via zerolog before returning them.
This commit is contained in:
Ryan Hamamura
2026-03-02 18:51:18 -10:00
parent cb5458c9fc
commit 9a20467438
5 changed files with 48 additions and 12 deletions

View File

@@ -62,7 +62,7 @@ func (ss *SnakeStore) Create(width, height int, mode GameMode, speed int) *Snake
ss.gamesMu.Unlock()
if ss.queries != nil {
saveSnakeGame(ss.queries, sg) //nolint:errcheck
si.save() //nolint:errcheck
}
return si
@@ -206,8 +206,8 @@ func (si *SnakeGameInstance) Join(player *Player) bool {
si.game.Players[slot] = player
if si.queries != nil {
saveSnakePlayer(si.queries, si.game.ID, player) //nolint:errcheck
saveSnakeGame(si.queries, si.game) //nolint:errcheck
si.savePlayer(player) //nolint:errcheck
si.save() //nolint:errcheck
}
si.notify()
@@ -293,7 +293,7 @@ func (si *SnakeGameInstance) CreateRematch() *SnakeGameInstance {
si.game.RematchGameID = &newID
if si.queries != nil {
saveSnakeGame(si.queries, si.game) //nolint:errcheck
si.save() //nolint:errcheck
}
si.gameMu.Unlock()