From ed4f6fa1a785e14f39bda9715e3d081fb426ff36 Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Wed, 26 Dec 2018 13:20:57 -0500 Subject: Initial commit --- store.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 store.go (limited to 'store.go') diff --git a/store.go b/store.go new file mode 100644 index 0000000..b744d88 --- /dev/null +++ b/store.go @@ -0,0 +1,35 @@ +package main + +import ( + "database/sql" + "log" + + _ "github.com/lib/pq" +) + +type Session struct { + Id string + UserId string +} + +type SessionStore interface { + Get(id string) (*Session, bool) +} + +type PgSessionStore struct { + *sql.DB + cache map[string]*Session +} + +func NewPgStore() *PgSessionStore { + db, err := sql.Open("postgres", "postgres://auth_master:pass@localhost/authdb") + if err != nil { + log.Panic(err) + } + return &PgSessionStore{db, make(map[string]*Session)} +} + +func (store *PgSessionStore) Get(id string) (*Session, bool) { + s, ok := store.cache[id] + return s, ok +} -- cgit v1.2.3-70-g09d2