From bbbb4a28d39944e1d8a71d209d90da74e3e6983b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20P=C3=A9rez?= Date: Mon, 17 Mar 2025 15:24:10 +0100 Subject: [PATCH] add consts for environment and logs --- app/app.go | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/app/app.go b/app/app.go index f04e730..f458382 100644 --- a/app/app.go +++ b/app/app.go @@ -66,6 +66,23 @@ var ( logLevel string ) +type Environment string + +const ( + EnvironmentTesting Environment = "testing" + EnvironmentDevelopment Environment = "development" + EnvironmentProduction Environment = "production" +) + +type LogLevel string + +const ( + LogLevelDebug LogLevel = "debug" + LogLevelInfo LogLevel = "info" + LogLevelWarn LogLevel = "warn" + LogLevelError LogLevel = "error" +) + type Config struct { // default "" Name string @@ -77,10 +94,10 @@ type Config struct { EnvDirectory string // default "development" - EnvMode string + EnvMode Environment // default "debug" - LogLevel string + LogLevel LogLevel // default "UTC" Timezone string @@ -177,12 +194,12 @@ func New(config ...Config) *App { } if cfg.EnvMode == "" && os.Getenv("ENV_MODE") != "" { - cfg.EnvMode = os.Getenv("ENV_MODE") + cfg.EnvMode = Environment(os.Getenv("ENV_MODE")) } if cfg.LogLevel == "" && os.Getenv("LOG_LEVEL") != "" { - cfg.LogLevel = os.Getenv("LOG_LEVEL") - logLevel = cfg.LogLevel + cfg.LogLevel = LogLevel(os.Getenv("LOG_LEVEL")) + logLevel = string(cfg.LogLevel) } if cfg.Timezone == "" && os.Getenv("TIMEZONE") != "" { @@ -306,11 +323,11 @@ func (a *App) Version() string { return a.config.Version } -func (a *App) EnvMode() string { +func (a *App) EnvMode() Environment { return a.config.EnvMode } -func (a *App) LogLevel() string { +func (a *App) LogLevel() LogLevel { return a.config.LogLevel } @@ -337,7 +354,7 @@ func (a *App) Timezone() string { // // cmd/database/migrations/*.sql func (a *App) Migrate(database embed.FS) { - if a.config.DatabaseMigrate == false { + if !a.config.DatabaseMigrate { slog.Info("migration disabled") return }