BE-MiniERP/config/config.go
2025-06-27 11:17:20 +07:00

46 lines
923 B
Go

package config
import (
"log"
"os"
"github.com/joho/godotenv"
)
type Config struct {
JWTSecret string
DBHost string
DBPort string
DBUser string
DBPassword string
DBName string
DBSSLMode string
}
var appConfig = &Config{}
func InitConfig() {
// Load .env file
err := godotenv.Load()
if err != nil {
log.Println("Warning: .env file not found, using system environment variables.")
}
// Load config from env
appConfig.JWTSecret = os.Getenv("JWT_SECRET")
appConfig.DBHost = os.Getenv("DB_HOST")
appConfig.DBPort = os.Getenv("DB_PORT")
appConfig.DBUser = os.Getenv("DB_USER")
appConfig.DBPassword = os.Getenv("DB_PASSWORD")
appConfig.DBName = os.Getenv("DB_NAME")
appConfig.DBSSLMode = os.Getenv("DB_SSLMODE")
if appConfig.JWTSecret == "" || appConfig.DBHost == "" {
log.Fatal("Required environment variables are missing")
}
}
func GetConfig() *Config {
return appConfig
}