From 7320d5326fca5faa76fc27500f918323ce2c32f5 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 28 Nov 2025 21:46:04 +0900 Subject: refactor(backend): Move config.go to separate package --- backend/cmd_serve.go | 9 +++++---- backend/config.go | 35 ----------------------------------- backend/config/config.go | 35 +++++++++++++++++++++++++++++++++++ backend/main.go | 6 ++++-- 4 files changed, 44 insertions(+), 41 deletions(-) delete mode 100644 backend/config.go create mode 100644 backend/config/config.go (limited to 'backend') diff --git a/backend/cmd_serve.go b/backend/cmd_serve.go index 1421696..a0a2d75 100644 --- a/backend/cmd_serve.go +++ b/backend/cmd_serve.go @@ -24,6 +24,7 @@ import ( "github.com/vektah/gqlparser/v2/ast" "undef.ninja/x/feedaka/auth" + "undef.ninja/x/feedaka/config" "undef.ninja/x/feedaka/db" "undef.ninja/x/feedaka/graphql" "undef.ninja/x/feedaka/graphql/resolver" @@ -138,7 +139,7 @@ func scheduled(ctx context.Context, d time.Duration, fn func()) { }() } -func runServe(database *sql.DB, config *Config) { +func runServe(database *sql.DB, cfg *config.Config) { err := db.ValidateSchemaVersion(database) if err != nil { log.Fatal(err) @@ -146,7 +147,7 @@ func runServe(database *sql.DB, config *Config) { queries := db.New(database) - sessionConfig := auth.NewSessionConfig(config.SessionSecret, config.DevNonSecureCookie) + sessionConfig := auth.NewSessionConfig(cfg.SessionSecret, cfg.DevNonSecureCookie) e := echo.New() @@ -225,8 +226,8 @@ func runServe(database *sql.DB, config *Config) { } }() - log.Printf("Server starting on port %s...\n", config.Port) - err = e.Start(":" + config.Port) + log.Printf("Server starting on port %s...\n", cfg.Port) + err = e.Start(":" + cfg.Port) if err != nil && err != http.ErrServerClosed { log.Printf("Server error: %v\n", err) } diff --git a/backend/config.go b/backend/config.go deleted file mode 100644 index c66100e..0000000 --- a/backend/config.go +++ /dev/null @@ -1,35 +0,0 @@ -package main - -import ( - "errors" - "os" -) - -var ( - ErrNoSessionSecretEnvVar = errors.New("FEEDAKA_SESSION_SECRET environment variable is not set") -) - -type Config struct { - Port string - SessionSecret string - DevNonSecureCookie bool -} - -func LoadConfig() (*Config, error) { - port := os.Getenv("FEEDAKA_PORT") - sessionSecret := os.Getenv("FEEDAKA_SESSION_SECRET") - devNonSecureCookie := os.Getenv("FEEDAKA_DEV_NON_SECURE_COOKIE") - - if port == "" { - port = "8080" - } - if sessionSecret == "" { - return nil, ErrNoSessionSecretEnvVar - } - - return &Config{ - Port: port, - SessionSecret: sessionSecret, - DevNonSecureCookie: devNonSecureCookie == "1", - }, nil -} diff --git a/backend/config/config.go b/backend/config/config.go new file mode 100644 index 0000000..7f2607d --- /dev/null +++ b/backend/config/config.go @@ -0,0 +1,35 @@ +package config + +import ( + "errors" + "os" +) + +var ( + ErrNoSessionSecretEnvVar = errors.New("FEEDAKA_SESSION_SECRET environment variable is not set") +) + +type Config struct { + Port string + SessionSecret string + DevNonSecureCookie bool +} + +func LoadConfig() (*Config, error) { + port := os.Getenv("FEEDAKA_PORT") + sessionSecret := os.Getenv("FEEDAKA_SESSION_SECRET") + devNonSecureCookie := os.Getenv("FEEDAKA_DEV_NON_SECURE_COOKIE") + + if port == "" { + port = "8080" + } + if sessionSecret == "" { + return nil, ErrNoSessionSecretEnvVar + } + + return &Config{ + Port: port, + SessionSecret: sessionSecret, + DevNonSecureCookie: devNonSecureCookie == "1", + }, nil +} diff --git a/backend/main.go b/backend/main.go index 714d496..e392a33 100644 --- a/backend/main.go +++ b/backend/main.go @@ -6,13 +6,15 @@ import ( "log" _ "github.com/mattn/go-sqlite3" + + "undef.ninja/x/feedaka/config" ) //go:generate go tool sqlc generate //go:generate go tool gqlgen generate func main() { - config, err := LoadConfig() + cfg, err := config.LoadConfig() if err != nil { log.Fatal(err) } @@ -32,6 +34,6 @@ func main() { } else if *createUser { runCreateUser(database) } else { - runServe(database, config) + runServe(database, cfg) } } -- cgit v1.2.3-70-g09d2