diff --git a/libs/go/meowbot/feature/db/connection.go b/libs/go/meowbot/feature/db/connection.go index c18f8d7..0c5cff3 100644 --- a/libs/go/meowbot/feature/db/connection.go +++ b/libs/go/meowbot/feature/db/connection.go @@ -18,6 +18,12 @@ func InitDB(ctx context.Context) error { if connStr == "" { // Log a warning or use a fallback connection string for local dev environments connStr = "postgres://default_user:default_password@127.0.0.1:5432/meowbot?sslmode=disable" + } else { + user := util.Cfg.DatabaseUser + pass := util.Cfg.DatabasePassword + url := util.Cfg.DatabaseURL + + connStr = fmt.Sprintf("postgres://%s:%s@%s", user, pass, url) } // Open the database connection diff --git a/libs/go/meowbot/util/config.go b/libs/go/meowbot/util/config.go index f47af5c..0c9b997 100644 --- a/libs/go/meowbot/util/config.go +++ b/libs/go/meowbot/util/config.go @@ -10,15 +10,17 @@ import ( var Cfg = LoadConfig() type AppConfig struct { - Mode string - Debug bool - IsProd bool - BotToken string - ApiPort string - DatabaseURL string - EmojiList string - Logger *slog.Logger - Whitelist struct { + Mode string + Debug bool + IsProd bool + BotToken string + ApiPort string + DatabaseURL string + DatabaseUser string + DatabasePassword string + EmojiList string + Logger *slog.Logger + Whitelist struct { Guilds []string } } @@ -52,14 +54,16 @@ func LoadConfig() AppConfig { } return AppConfig{ - Mode: mode, - Debug: debug, - IsProd: mode == "production", - ApiPort: apiPort, - BotToken: os.Getenv("DISCORD_BOT_TOKEN"), - DatabaseURL: os.Getenv("DATABASE_URL"), - EmojiList: os.Getenv("EMOJI_LIST"), - Logger: logger, + Mode: mode, + Debug: debug, + IsProd: mode == "production", + ApiPort: apiPort, + BotToken: os.Getenv("DISCORD_BOT_TOKEN"), + DatabaseURL: os.Getenv("DATABASE_URL"), + DatabaseUser: os.Getenv("DATABASE_USER"), + DatabasePassword: os.Getenv("DATABASE_PASSWORD"), + EmojiList: os.Getenv("EMOJI_LIST"), + Logger: logger, Whitelist: struct { Guilds []string }{Guilds: guilds},