From 2a513445a50bbe0d3a5cb13784c8ed68e1c367fa Mon Sep 17 00:00:00 2001 From: Bobby <30593201+luciferreeves@users.noreply.github.com> Date: Tue, 20 Jan 2026 14:22:24 +0530 Subject: Add session management with PostgreSQL storage and utility functions --- config/config.go | 5 +++++ config/env.go | 11 +++++++++++ 2 files changed, 16 insertions(+) (limited to 'config') diff --git a/config/config.go b/config/config.go index 293a135..41b0f5a 100644 --- a/config/config.go +++ b/config/config.go @@ -10,6 +10,7 @@ import ( var ( Server server Database database + Session session ) func init() { @@ -24,4 +25,8 @@ func init() { if err := env.Parse(&Database); err != nil { log.Fatalf("Failed to parse DatabaseConfig: %v", err) } + + if err := env.Parse(&Session); err != nil { + log.Fatalf("Failed to parse SessionConfig: %v", err) + } } diff --git a/config/env.go b/config/env.go index dd9eb70..760bb3d 100644 --- a/config/env.go +++ b/config/env.go @@ -1,5 +1,7 @@ package config +import "time" + type server struct { Host string `env:"SERVER_HOST" default:"localhost"` Port int `env:"SERVER_PORT" default:"8080"` @@ -17,3 +19,12 @@ type database struct { Name string `env:"DB_NAME" default:"cafe"` SSLMode string `env:"DB_SSLMODE" default:"disable"` } + +type session struct { + CookieDomain string `env:"SESSION_COOKIE_DOMAIN" default:"localhost"` + CookieName string `env:"SESSION_COOKIE_NAME" default:"cafe_session"` + CookiePath string `env:"SESSION_COOKIE_PATH" default:"/"` + CookieSameSite string `env:"SESSION_COOKIE_SAME_SITE" default:"Lax"` + CookieSecure bool `env:"SESSION_SECURE_COOKIE" default:"false"` + CookieTimeout time.Duration `env:"SESSION_TIMEOUT" default:"24h"` +} -- cgit v1.2.3