Files
Hyperia/server/config/config.go
2025-10-03 11:44:00 -05:00

51 lines
883 B
Go

package config
import (
"fmt"
"os"
"strconv"
"github.com/joho/godotenv"
)
var ENV string
// URLs
var BASE_URL string
const PORT = "3003"
// Auth
var JWT_SECRET string
// Logging
var LOG_TO_FILE bool
func SetConfiguration() {
err := godotenv.Load()
if err != nil {
fmt.Println("no .env file found. Needs to be added to server directory.")
}
ENV = os.Getenv("ENV")
if ENV != "production" && ENV != "development" {
fmt.Println("invalid value for ENV, must be 'development' or 'production'")
os.Exit(1)
}
BASE_URL = os.Getenv("BASE_URL")
if BASE_URL == "" {
fmt.Println("BASE_URL not provided, aborting")
os.Exit(1)
}
JWT_SECRET = os.Getenv("JWT_SECRET")
if JWT_SECRET == "" {
fmt.Println("JWT_SECRET not provided, aborting")
os.Exit(1)
}
LOG_TO_FILE, err = strconv.ParseBool(os.Getenv("LOG_TO_FILE"))
if err != nil {
LOG_TO_FILE = false
}
}