package config import ( "os" "github.com/joho/godotenv" ) type Config struct { DBHost string DBPort string DBUser string DBPassword string DBName string DefaultAdminEmail string DefaultAdminUsername string DefaultAdminPassword string JWTSecret string ServerPort string GRPCPort string GRPCHMACSecret string BaseURL string UploadDir string } func Load() *Config { _ = godotenv.Load() return &Config{ DBHost: getEnv("DB_HOST", "127.0.0.1"), DBPort: getEnv("DB_PORT", "5432"), DBUser: getEnv("DB_USER", "game_admin_user"), DBPassword: getEnv("DB_PASSWORD", "game_admin_password"), DBName: getEnv("DB_NAME", "game_admin"), DefaultAdminEmail: getEnv("DEFAULT_ADMIN_EMAIL", "admin@admin.com"), DefaultAdminUsername: getEnv("DEFAULT_ADMIN_USERNAME", "admin"), DefaultAdminPassword: getEnv("DEFAULT_ADMIN_PASSWORD", "admin123"), JWTSecret: getEnv("JWT_SECRET", "super-secret-key-change-me"), ServerPort: getEnv("SERVER_PORT", "8080"), GRPCPort: getEnv("GRPC_PORT", "50051"), GRPCHMACSecret: getEnv("GRPC_HMAC_SECRET", "super_secret_key"), BaseURL: getEnv("BASE_URL", "http://localhost:8080"), UploadDir: getEnv("UPLOAD_DIR", "uploads"), } } func getEnv(key, fallback string) string { if val := os.Getenv(key); val != "" { return val } return fallback }