Update usrmgr schema

Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
gearnode
2025-02-04 15:47:57 -08:00
parent 0e9746bbee
commit 41b957f21b
6 changed files with 23 additions and 10 deletions

View File

@@ -1,12 +1,12 @@
CREATE TABLE usrmgr_users (
id TEXT PRIMARY KEY,
created_at TIMESTAMP NOT NULL DEFAULT now(),
updated_at TIMESTAMP NOT NULL DEFAULT now()
created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP NOT NULL
);
CREATE TABLE usrmgr_sessions (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL REFERENCES usrmgr_users(id),
created_at TIMESTAMP NOT NULL DEFAULT now(),
updated_at TIMESTAMP NOT NULL DEFAULT now()
created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP NOT NULL
);

View File

@@ -0,0 +1,5 @@
CREATE EXTENSION citext;
ALTER TABLE usrmgr_users
ADD COLUMN email_address CITEXT NOT NULL,
ADD COLUMN hashed_password BYTEA NOT NULL;

View File

@@ -0,0 +1 @@
ALTER TABLE usrmgr_users ADD UNIQUE (email_address);

View File

@@ -0,0 +1 @@
ALTER TABLE usrmgr_sessions ADD COLUMN expired_at TIMESTAMP WITH TIME ZONE NOT NULL;

View File

@@ -30,6 +30,7 @@ type (
Session struct {
ID gid.GID
UserID gid.GID
ExpiredAt time.Time
CreatedAt time.Time
UpdatedAt time.Time
}
@@ -42,6 +43,8 @@ func (s Session) CursorKey() page.CursorKey {
func (s *Session) scan(r pgx.Row) error {
return r.Scan(
&s.ID,
&s.UserID,
&s.ExpiredAt,
&s.CreatedAt,
&s.UpdatedAt,
)

View File

@@ -16,7 +16,6 @@ package coredata
import (
"context"
"fmt"
"time"
"github.com/getprobo/probo/pkg/gid"
@@ -28,9 +27,11 @@ import (
type (
User struct {
ID gid.GID
CreatedAt time.Time
UpdatedAt time.Time
ID gid.GID
EmailAddress string
HashedPassword []byte
CreatedAt time.Time
UpdatedAt time.Time
}
)
@@ -41,6 +42,8 @@ func (u User) CursorKey() page.CursorKey {
func (u *User) scan(r pgx.Row) error {
return r.Scan(
&u.ID,
&u.EmailAddress,
&u.HashedPassword,
&u.CreatedAt,
&u.UpdatedAt,
)
@@ -54,6 +57,8 @@ func (u *User) LoadByID(
q := `
SELECT
id,
email_address,
hashed_password,
created_at,
updated_at
FROM
@@ -63,8 +68,6 @@ WHERE
LIMIT 1;
`
q = fmt.Sprintf(q)
args := pgx.NamedArgs{"user_id": userID}
r := conn.QueryRow(ctx, q, args)