diff --git a/internal/config/config.go b/internal/config/config.go index 76481ac..dc7091a 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -26,15 +26,18 @@ type ConfigParams struct { } type Config struct { - DBURL string - Debug bool - MaintenanceMode bool - MetricsPassword string - MetricsUsername string - Port int - SentryDSN string - params *ConfigParams - log *zerolog.Logger + DBURL string + Debug bool + MaintenanceMode bool + DevelopmentMode bool + DevAdminUsername string + DevAdminPassword string + MetricsPassword string + MetricsUsername string + Port int + SentryDSN string + params *ConfigParams + log *zerolog.Logger } func New(lc fx.Lifecycle, params ConfigParams) (*Config, error) { @@ -52,6 +55,9 @@ func New(lc fx.Lifecycle, params ConfigParams) (*Config, error) { viper.SetDefault("DEBUG", "false") viper.SetDefault("MAINTENANCE_MODE", "false") + viper.SetDefault("DEVELOPMENT_MODE", "false") + viper.SetDefault("DEV_ADMIN_USERNAME", "") + viper.SetDefault("DEV_ADMIN_PASSWORD", "") viper.SetDefault("PORT", "8080") viper.SetDefault("DBURL", "") viper.SetDefault("SENTRY_DSN", "") @@ -70,15 +76,18 @@ func New(lc fx.Lifecycle, params ConfigParams) (*Config, error) { } s := &Config{ - DBURL: viper.GetString("DBURL"), - Debug: viper.GetBool("debug"), - Port: viper.GetInt("PORT"), - SentryDSN: viper.GetString("SENTRY_DSN"), - MaintenanceMode: viper.GetBool("MAINTENANCE_MODE"), - MetricsUsername: viper.GetString("METRICS_USERNAME"), - MetricsPassword: viper.GetString("METRICS_PASSWORD"), - log: log, - params: ¶ms, + DBURL: viper.GetString("DBURL"), + Debug: viper.GetBool("debug"), + Port: viper.GetInt("PORT"), + SentryDSN: viper.GetString("SENTRY_DSN"), + MaintenanceMode: viper.GetBool("MAINTENANCE_MODE"), + DevelopmentMode: viper.GetBool("DEVELOPMENT_MODE"), + DevAdminUsername: viper.GetString("DEV_ADMIN_USERNAME"), + DevAdminPassword: viper.GetString("DEV_ADMIN_PASSWORD"), + MetricsUsername: viper.GetString("METRICS_USERNAME"), + MetricsPassword: viper.GetString("METRICS_PASSWORD"), + log: log, + params: ¶ms, } if s.Debug { diff --git a/internal/handlers/signup.go b/internal/handlers/signup.go new file mode 100644 index 0000000..12e0243 --- /dev/null +++ b/internal/handlers/signup.go @@ -0,0 +1,34 @@ +package handlers + +import ( + "net/http" + + "git.eeqj.de/sneak/gohttpserver/templates" +) + +func (s *Handlers) HandleSignupGET() http.HandlerFunc { + t := templates.GetParsed() + + return func(w http.ResponseWriter, r *http.Request) { + err := t.ExecuteTemplate(w, "signup.html", nil) + if err != nil { + s.log.Error().Err(err).Msg("") + http.Error(w, http.StatusText(500), 500) + } + } +} + +func (s *Handlers) HandleSignupPOST() http.HandlerFunc { + t := templates.GetParsed() + return func(w http.ResponseWriter, r *http.Request) { + + _ = r.ParseForm() + + err := t.ExecuteTemplate(w, "signup.html", nil) + + if err != nil { + s.log.Error().Err(err).Msg("") + http.Error(w, http.StatusText(500), 500) + } + } +} diff --git a/internal/server/server.go b/internal/server/server.go index 64e0ba6..f3c6a9f 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -41,7 +41,6 @@ type ServerParams struct { type Server struct { startupTime time.Time - port int exitCode int sentryEnabled bool log *zerolog.Logger