package config import ( "log" "os" "strings" ) type Config struct { ServerPort string JWTSecret string DBUser string DBPassword string DBHost string DBPort string DBName string DefaultAdminEmail string DefaultAdminPassword string } func Load() Config { cfg := Config{ ServerPort: getEnv("SERVER_PORT", "8080"), JWTSecret: getEnv("JWT_SECRET", "change-me-in-production"), DBUser: getEnv("DB_USER", "root"), DBPassword: getEnv("DB_PASSWORD", ""), DBHost: getEnv("DB_HOST", "127.0.0.1"), DBPort: getEnv("DB_PORT", "3306"), DBName: getEnv("DB_NAME", "social_raiting"), DefaultAdminEmail: getEnv("DEFAULT_ADMIN_EMAIL", "admin@example.com"), DefaultAdminPassword: getEnv("DEFAULT_ADMIN_PASSWORD", "change-admin-password"), } if cfg.JWTSecret == "change-me-in-production" { log.Println("warning: JWT_SECRET is using the default development value") } if cfg.DefaultAdminPassword == "change-admin-password" { log.Println("warning: DEFAULT_ADMIN_PASSWORD is using the default development value") } return cfg } func getEnv(key, fallback string) string { value := strings.TrimSpace(os.Getenv(key)) if value == "" { return fallback } return value }