1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00
wtf/modules/gerrit/settings.go
Chris Cummer d6a0797bf2 Simplify the inclusion of the Common config settings into each module
Signed-off-by: Chris Cummer <chriscummer@me.com>
2020-11-26 23:18:46 -08:00

52 lines
1.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package gerrit
import (
"os"
"github.com/olebedev/config"
"github.com/wtfutil/wtf/cfg"
)
const (
defaultFocusable = true
defaultTitle = "Gerrit"
)
type colors struct {
rows struct {
even string `help:"Define the foreground color for even-numbered rows." values:"Any X11 color name." optional:"true"`
odd string `help:"Define the foreground color for odd-numbered rows." values:"Any X11 color name." optional:"true"`
}
}
type Settings struct {
colors
*cfg.Common
domain string `help:"Your Gerrit corporate domain."`
password string `help:"Your Gerrit HTTP Password."`
projects []interface{} `help:"A list of Gerrit project names to fetch data for."`
username string `help:"Your Gerrit username."`
verifyServerCertificate bool `help:"Determines whether or not the servers certificate chain and host name are verified." values:"true or false" optional:"true"`
}
func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings {
settings := Settings{
Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig),
domain: ymlConfig.UString("domain", ""),
password: ymlConfig.UString("password", os.Getenv("WTF_GERRIT_PASSWORD")),
projects: ymlConfig.UList("projects"),
username: ymlConfig.UString("username", ""),
verifyServerCertificate: ymlConfig.UBool("verifyServerCertificate", true),
}
cfg.ModuleSecret(name, globalConfig, &settings.password).
Service(settings.domain).Load()
settings.colors.rows.even = ymlConfig.UString("colors.rows.even", "white")
settings.colors.rows.odd = ymlConfig.UString("colors.rows.odd", "blue")
return &settings
}