mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Rather than referencing wtc.Config, instead pass the global config Also, look up config for the module early and pass that in sooner, to deal with fewer long paths and get rid of the ConfigKey variable
38 lines
929 B
Go
38 lines
929 B
Go
package github
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/olebedev/config"
|
|
"github.com/wtfutil/wtf/cfg"
|
|
)
|
|
|
|
const configKey = "github"
|
|
|
|
type Settings struct {
|
|
common *cfg.Common
|
|
|
|
apiKey string
|
|
baseURL string
|
|
enableStatus bool
|
|
repositories map[string]interface{}
|
|
uploadURL string
|
|
username string
|
|
}
|
|
|
|
func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings {
|
|
|
|
settings := Settings{
|
|
common: cfg.NewCommonSettingsFromModule(name, ymlConfig, globalConfig),
|
|
|
|
apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_GITHUB_TOKEN")),
|
|
baseURL: ymlConfig.UString("baseURL", os.Getenv("WTF_GITHUB_BASE_URL")),
|
|
enableStatus: ymlConfig.UBool("enableStatus", false),
|
|
repositories: ymlConfig.UMap("repositories"),
|
|
uploadURL: ymlConfig.UString("uploadURL", os.Getenv("WTF_GITHUB_UPLOAD_URL")),
|
|
username: ymlConfig.UString("username"),
|
|
}
|
|
|
|
return &settings
|
|
}
|