diff options
| -rw-r--r-- | schema.sql | 12 | ||||
| -rw-r--r-- | store.go | 10 |
2 files changed, 12 insertions, 10 deletions
@@ -1,10 +1,12 @@ +CREATE TABLE users( + id serial PRIMARY KEY, + name text, + password text); + CREATE TABLE sessions( + id uuid DEFAULT gen_random_uuid() PRIMARY KEY, created_at timestamp DEFAULT now(), - session_id uuid DEFAULT gen_random_uuid(), + expire timestamp, user_id integer REFERENCES users(id) ); -CREATE TABLE users( - id integer PRIMARY KEY serial, - user_name text - password text); @@ -14,7 +14,7 @@ type Session struct { type User struct { Id int64 - UserName string + Name string Password []byte } @@ -43,7 +43,7 @@ func (store *PgStore) GetSession(id string) (*Session, bool) { } s = new(Session) row := store.QueryRow("SELECT id, user_id FROM session WHERE id = $1", id) - if err := row.Scan(s.Id, s.UserId); err != nil { + if err := row.Scan(&s.Id, &s.UserId); err != nil { return nil, false } store.sessionCache[s.Id] = s @@ -51,9 +51,9 @@ func (store *PgStore) GetSession(id string) (*Session, bool) { } func (store *PgStore) GetUser(name string) (*User, bool) { - u := new(User) - row := store.QueryRow("SELECT id, user_name, password FROM user WHERE user_name = $1", name) - if err := row.Scan(u.Id, u.UserName, u.Password); err != nil { + u := &User{Name: name} + row := store.QueryRow("SELECT id, password FROM user WHERE name = $1", name) + if err := row.Scan(&u.Id, &u.Password); err != nil { return nil, false } return u, true |
