From 407320fb94ffbfcf650217d5257904b3da9b3080 Mon Sep 17 00:00:00 2001 From: Tirefire <84106878+tire-fire@users.noreply.github.com> Date: Mon, 20 Oct 2025 20:21:07 -0500 Subject: [PATCH] Add team auto-generation feature --- engine/config/config.go | 2 ++ engine/db/db.go | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/engine/config/config.go b/engine/config/config.go index 1673612f..608777ec 100644 --- a/engine/config/config.go +++ b/engine/config/config.go @@ -83,6 +83,8 @@ type MiscConfig struct { StartPaused bool + TeamCount int // Auto-generate teams (team01, team02, ...) if > 0 + // Round settings Delay int Jitter int diff --git a/engine/db/db.go b/engine/db/db.go index 28054ae1..dfec85b0 100644 --- a/engine/db/db.go +++ b/engine/db/db.go @@ -50,6 +50,25 @@ func Connect(connectURL string) { } func AddTeams(conf *config.ConfigSettings) error { + // Auto-generate teams if TeamCount is specified + if conf.MiscSettings.TeamCount > 0 { + for i := 1; i <= conf.MiscSettings.TeamCount; i++ { + teamName := fmt.Sprintf("team%02d", i) + t := TeamSchema{Name: teamName} + result := db.Where(&t).First(&t) + if result.Error != nil { + if errors.Is(result.Error, gorm.ErrRecordNotFound) { + if _, err := CreateTeam(t); err != nil { + return err + } + } else { + return result.Error + } + } + } + } + + // Also add explicitly defined teams for _, team := range conf.Team { t := TeamSchema{Name: team.Name} result := db.Where(&t).First(&t)