package utils import ( "os" "strconv" "time" ) // GetEnv gets environment variable with fallback func GetEnv(key, fallback string) string { if value, exists := os.LookupEnv(key); exists { return value } return fallback } // GetEnvInt gets environment variable as integer with fallback func GetEnvInt(key string, fallback int) int { if value, exists := os.LookupEnv(key); exists { if intVal, err := strconv.Atoi(value); err == nil { return intVal } } return fallback } // GetEnvBool gets environment variable as boolean with fallback func GetEnvBool(key string, fallback bool) bool { if value, exists := os.LookupEnv(key); exists { if boolVal, err := strconv.ParseBool(value); err == nil { return boolVal } } return fallback } // GetEnvDuration gets environment variable as time.Duration with fallback func GetEnvDuration(key string, fallback time.Duration) time.Duration { if value, exists := os.LookupEnv(key); exists { if intVal, err := strconv.Atoi(value); err == nil { return time.Duration(intVal) * time.Second } } return fallback }