First try
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package infrastructure
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
|
||||
type ApplicationEnvironment struct {
|
||||
TemplateLocation string
|
||||
}
|
||||
|
||||
func ConfigSetup(configName, configPath string) {
|
||||
viper.SetConfigName(configName)
|
||||
viper.SetConfigType("toml")
|
||||
viper.AddConfigPath(configPath)
|
||||
}
|
||||
|
||||
func ValidateVariablesAreSet(variables []string) {
|
||||
for i := range variables {
|
||||
if !viper.IsSet(variables[i]) {
|
||||
log.Fatalf("%s variable was not set!\nAborting application start!", variables[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func GetConfig() ApplicationEnvironment {
|
||||
|
||||
if err := viper.ReadInConfig(); err != nil {
|
||||
log.Fatalf("fatal error config file in infrastructure: %s", err)
|
||||
}
|
||||
ValidateVariablesAreSet([]string{})
|
||||
|
||||
return ApplicationEnvironment{
|
||||
TemplateLocation: viper.GetString("TemplateLocation"),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user