github.com/wtfutil/wtf@v0.43.0/modules/pihole/settings.go (about) 1 package pihole 2 3 import ( 4 "github.com/olebedev/config" 5 "github.com/wtfutil/wtf/cfg" 6 ) 7 8 const ( 9 defaultFocusable = true 10 defaultTitle = "Pi-hole" 11 ) 12 13 type Settings struct { 14 *cfg.Common 15 16 wrapText bool 17 apiUrl string 18 token string 19 showTopItems int 20 showTopClients int 21 maxClientWidth int 22 maxDomainWidth int 23 showSummary bool 24 } 25 26 func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { 27 settings := Settings{ 28 Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), 29 30 apiUrl: ymlConfig.UString("apiUrl"), 31 token: ymlConfig.UString("token"), 32 showSummary: ymlConfig.UBool("showSummary", true), 33 showTopItems: ymlConfig.UInt("showTopItems", 5), 34 showTopClients: ymlConfig.UInt("showTopClients", 5), 35 maxClientWidth: ymlConfig.UInt("maxClientWidth", 20), 36 maxDomainWidth: ymlConfig.UInt("maxDomainWidth", 20), 37 } 38 39 cfg.ModuleSecret(name, globalConfig, &settings.token). 40 Service(settings.apiUrl).Load() 41 42 return &settings 43 }