diff --git a/internal/app/server/routes/home/routes.go b/internal/app/server/routes/home/routes.go index e2b2a87..9b3e862 100644 --- a/internal/app/server/routes/home/routes.go +++ b/internal/app/server/routes/home/routes.go @@ -118,7 +118,7 @@ func (h *Handlers) HandleHomePub() turbostreams.HandlerFunc { if err != nil { return false, err } - if vd.ForkliftVersioning == (versioning.Forklift{}) { + if vd.ForkliftVersioning.IsZero() { return false, nil // don't output empty info if there was a read-write race condition! } // Produce output diff --git a/internal/clients/versioning/client.go b/internal/clients/versioning/client.go index 3216f5f..b2600dc 100644 --- a/internal/clients/versioning/client.go +++ b/internal/clients/versioning/client.go @@ -28,15 +28,52 @@ func NewClient(c Config, l godest.Logger) *Client { } type Forklift struct { - Forklift string `yaml:"forklift,omitempty"` - Factory string `yaml:"factory,omitempty"` - Current string `yaml:"current,omitempty"` - Previous string `yaml:"previous,omitempty"` - Pending string `yaml:"pending,omitempty"` - Pallet string `yaml:"pallet,omitempty"` - Changes string `yaml:"changes,omitempty"` - UpgradeSource string `yaml:"upgrade-source,omitempty"` - Upgrade string `yaml:"upgrade,omitempty"` + Forklift string `yaml:"forklift,omitempty"` + Factory string `yaml:"factory,omitempty"` + Current string `yaml:"current,omitempty"` + Previous string `yaml:"previous,omitempty"` + Pending string `yaml:"pending,omitempty"` + Pallet string `yaml:"pallet,omitempty"` + Changes string `yaml:"changes,omitempty"` + UpgradeSource string `yaml:"upgrade-source,omitempty"` + Upgrade string `yaml:"upgrade,omitempty"` + Errors []string `yaml:"errors,omitempty"` + Warnings []string `yaml:"warnings,omitempty"` + Info []string `yaml:"info,omitempty"` +} + +func (f Forklift) IsZero() bool { + if f.Forklift != "" { + return false + } + if f.Factory != "" { + return false + } + if f.Current != "" { + return false + } + if f.Previous != "" { + return false + } + if f.Pending != "" { + return false + } + if f.Pallet != "" { + return false + } + if f.Changes != "" { + return false + } + if f.UpgradeSource != "" { + return false + } + if f.Upgrade != "" { + return false + } + if len(f.Errors)+len(f.Warnings)+len(f.Info) > 0 { + return false + } + return true } func (c *Client) GetForklift() (f Forklift, err error) { diff --git a/web/templates/home/index.page.tmpl b/web/templates/home/index.page.tmpl index bdd3a4f..9253058 100644 --- a/web/templates/home/index.page.tmpl +++ b/web/templates/home/index.page.tmpl @@ -242,6 +242,27 @@ {{end}} + {{range $msg := .Data.ForkliftVersioning.Errors}} + + {{end}} + {{range $msg := .Data.ForkliftVersioning.Warnings}} + + {{end}} + {{range $msg := .Data.ForkliftVersioning.Info}} + + {{end}}