diff --git a/sqlc/models.go b/sqlc/models.go index d8f68cf..a965e77 100644 --- a/sqlc/models.go +++ b/sqlc/models.go @@ -48,3 +48,9 @@ type User struct { LastLogin interface{} CreatedAt sql.NullString } + +type UserSession struct { + ID string + UserID string + CreatedAt string +} diff --git a/sqlc/query.sql.go b/sqlc/query.sql.go index c5956f8..9c6378d 100644 --- a/sqlc/query.sql.go +++ b/sqlc/query.sql.go @@ -67,6 +67,21 @@ func (q *Queries) CreateCustomer(ctx context.Context, arg CreateCustomerParams) return err } +const createNewSession = `-- name: CreateNewSession :exec +INSERT INTO user_sessions (id, user_id, created_at) VALUES (?, ?, ?) +` + +type CreateNewSessionParams struct { + ID string + UserID string + CreatedAt string +} + +func (q *Queries) CreateNewSession(ctx context.Context, arg CreateNewSessionParams) error { + _, err := q.db.ExecContext(ctx, createNewSession, arg.ID, arg.UserID, arg.CreatedAt) + return err +} + const createUser = `-- name: CreateUser :exec INSERT INTO user ( id @@ -177,6 +192,17 @@ func (q *Queries) GetCustomer(ctx context.Context, id string) (GetCustomerRow, e return i, err } +const getSession = `-- name: GetSession :one +SELECT id, user_id, created_at FROM user_sessions WHERE user_id = ? +` + +func (q *Queries) GetSession(ctx context.Context, userID string) (UserSession, error) { + row := q.db.QueryRowContext(ctx, getSession, userID) + var i UserSession + err := row.Scan(&i.ID, &i.UserID, &i.CreatedAt) + return i, err +} + const getSvgCount = `-- name: GetSvgCount :one SELECT COUNT(*) as count FROM svg_icon ` diff --git a/sqlite/query.sql b/sqlite/query.sql index abc7e7c..7a69404 100644 --- a/sqlite/query.sql +++ b/sqlite/query.sql @@ -87,6 +87,12 @@ SET ,salt = ? WHERE id = ?; +-- name: CreateNewSession :exec +INSERT INTO user_sessions (id, user_id, created_at) VALUES (?, ?, ?); + +-- name: GetSession :one +SELECT id, user_id, created_at FROM user_sessions WHERE user_id = ?; + -- name: GetUserRenew :many SELECT id diff --git a/sqlite/schema.sql b/sqlite/schema.sql index 4e30249..55ea45e 100644 --- a/sqlite/schema.sql +++ b/sqlite/schema.sql @@ -55,3 +55,11 @@ CREATE TABLE IF NOT EXISTS svg_icon ( id INTEGER PRIMARY KEY AUTOINCREMENT ,svg TEXT NOT NULL ); + + +CREATE TABLE IF NOT EXISTS user_sessions ( + id TEXT PRIMARY KEY + ,user_id TEXT NOT NULL UNIQUE + ,created_at TEXT NOT NULL + ,FOREIGN KEY (user_id) REFERENCES user(id) +);