From d11c6c16384f4e2caaf2f260ffcf8402d147f586 Mon Sep 17 00:00:00 2001 From: Matthew Fisher <40250218+MicroFish91@users.noreply.github.com> Date: Tue, 8 Oct 2024 23:03:50 -0700 Subject: [PATCH] Update app config retrieval method (#17) --- cmd/api/main.go | 32 +++++++++++++++++--------------- cmd/migrate/main.go | 16 +++++++++------- config/config.go | 4 +--- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/cmd/api/main.go b/cmd/api/main.go index 007d41a7..97956ecf 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -11,15 +11,17 @@ import ( ) func main() { + c := config.GetAppConfig() + dbConfig := db.PostgresDbConfig{ - DbHost: config.Env.DbHost, - DbPort: config.Env.DbPort, - DbName: config.Env.DbName, - DbUser: config.Env.DbUser, - DbPassword: config.Env.DbPassword, - DbSslMode: config.Env.DbSslMode, - DbMaxConnections: config.Env.DbMaxConnections, - DbMinConnections: config.Env.DbMinConnections, + DbHost: c.DbHost, + DbPort: c.DbPort, + DbName: c.DbName, + DbUser: c.DbUser, + DbPassword: c.DbPassword, + DbSslMode: c.DbSslMode, + DbMaxConnections: c.DbMaxConnections, + DbMinConnections: c.DbMinConnections, } db, err := db.NewPostgresStorage(dbConfig) @@ -27,14 +29,14 @@ func main() { log.Fatal(err) } - logger := logger.NewLogger(slog.Level(config.Env.LogLevel)) + logger := logger.NewLogger(slog.Level(c.LogLevel)) apiConfig := &api.ApiConfig{ - Addr: config.Env.Port, - JwtSecret: config.Env.JwtSecret, - RequireVerification: config.Env.RequireVerification, - UnauthorizedRequestLimit: config.Env.UnauthorizedRequestLimit, - ShortRequestLimit: config.Env.ShortRequestLimit, - LongRequestLimit: config.Env.LongRequestLimit, + Addr: c.Port, + JwtSecret: c.JwtSecret, + RequireVerification: c.RequireVerification, + UnauthorizedRequestLimit: c.UnauthorizedRequestLimit, + ShortRequestLimit: c.ShortRequestLimit, + LongRequestLimit: c.LongRequestLimit, } server := api.NewApiServer(apiConfig, db, logger) diff --git a/cmd/migrate/main.go b/cmd/migrate/main.go index 0df46694..9f338804 100644 --- a/cmd/migrate/main.go +++ b/cmd/migrate/main.go @@ -13,13 +13,15 @@ import ( ) func main() { + c := config.GetAppConfig() + dbConfig := db.PostgresDbConfig{ - DbHost: config.Env.DbHost, - DbPort: config.Env.DbPort, - DbName: config.Env.DbName, - DbUser: config.Env.DbUser, - DbPassword: config.Env.DbPassword, - DbSslMode: config.Env.DbSslMode, + DbHost: c.DbHost, + DbPort: c.DbPort, + DbName: c.DbName, + DbUser: c.DbUser, + DbPassword: c.DbPassword, + DbSslMode: c.DbSslMode, } m, err := migrator.NewPostgresMigrator( @@ -37,7 +39,7 @@ func main() { } fmt.Printf("successfully ran up migration on db \"%s\"", config.Env.DbName) } else if cmd == "down" { - if config.Env.AppEnv == "production" { + if c.AppEnv == "production" { log.Fatal("blocking down migrations for prod") } diff --git a/config/config.go b/config/config.go index 6b8bac1d..90fd59bd 100644 --- a/config/config.go +++ b/config/config.go @@ -29,9 +29,7 @@ type Config struct { DbMinConnections int } -var Env Config = initConfig() - -func initConfig() Config { +func GetAppConfig() Config { godotenv.Load() var appEnv string = getEnv("APP_ENV", "development")