37 lines
651 B
Go
37 lines
651 B
Go
package config
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
type Config struct {
|
|
APIKey string
|
|
DefaultCity string
|
|
DBHost string
|
|
DBPort string
|
|
DBUser string
|
|
DBPassword string
|
|
DBName string
|
|
}
|
|
|
|
func GetEnv(key string) string {
|
|
val := os.Getenv(key)
|
|
if val == "" {
|
|
log.Fatalf("missing required env var: %s", key)
|
|
}
|
|
return val
|
|
}
|
|
|
|
func Load() *Config {
|
|
return &Config{
|
|
APIKey: GetEnv("OPENWEATHERMAP_API_KEY"),
|
|
DefaultCity: GetEnv("WEATHER_CITY"),
|
|
DBHost: GetEnv("DB_HOST"),
|
|
DBPort: GetEnv("DB_PORT"),
|
|
DBUser: GetEnv("DB_USER"),
|
|
DBPassword: GetEnv("DB_PASSWORD"),
|
|
DBName: GetEnv("DB_NAME"),
|
|
}
|
|
}
|