From e400134a93cd4a4081a9e39a413100c7d4161086 Mon Sep 17 00:00:00 2001 From: itsscb Date: Mon, 9 Oct 2023 00:39:43 +0200 Subject: [PATCH] rf/moves ListSessions from sql.account to sql.session --- bff/db/query/account.sql | 6 +----- bff/db/query/session.sql | 7 ++++++- bff/db/sqlc/account.sql.go | 37 ------------------------------------- bff/db/sqlc/session.sql.go | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 43 deletions(-) diff --git a/bff/db/query/account.sql b/bff/db/query/account.sql index 04012e4..58780f7 100644 --- a/bff/db/query/account.sql +++ b/bff/db/query/account.sql @@ -80,8 +80,4 @@ RETURNING *; -- name: DeleteAccount :exec DELETE FROM accounts -WHERE "id" = $1; - --- name: ListSessions :many -SELECT * FROM sessions -WHERE email = sqlc.arg(email) AND is_blocked = false AND expires_at > now(); \ No newline at end of file +WHERE "id" = $1; \ No newline at end of file diff --git a/bff/db/query/session.sql b/bff/db/query/session.sql index 3e34026..56df86d 100644 --- a/bff/db/query/session.sql +++ b/bff/db/query/session.sql @@ -19,4 +19,9 @@ WHERE id = $1 LIMIT 1; UPDATE sessions SET "is_blocked" = true -WHERE "id" = sqlc.arg(id); \ No newline at end of file +WHERE "id" = sqlc.arg(id); + + +-- name: ListSessions :many +SELECT * FROM sessions +WHERE email = sqlc.arg(email) AND is_blocked = false AND expires_at > now(); \ No newline at end of file diff --git a/bff/db/sqlc/account.sql.go b/bff/db/sqlc/account.sql.go index 7d6cb09..7edfb08 100644 --- a/bff/db/sqlc/account.sql.go +++ b/bff/db/sqlc/account.sql.go @@ -259,43 +259,6 @@ func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]A return items, nil } -const listSessions = `-- name: ListSessions :many -SELECT id, email, user_agent, client_ip, refresh_token, is_blocked, expires_at, created_at FROM sessions -WHERE email = $1 AND is_blocked = false AND expires_at > now() -` - -func (q *Queries) ListSessions(ctx context.Context, email string) ([]Session, error) { - rows, err := q.db.QueryContext(ctx, listSessions, email) - if err != nil { - return nil, err - } - defer rows.Close() - items := []Session{} - for rows.Next() { - var i Session - if err := rows.Scan( - &i.ID, - &i.Email, - &i.UserAgent, - &i.ClientIp, - &i.RefreshToken, - &i.IsBlocked, - &i.ExpiresAt, - &i.CreatedAt, - ); err != nil { - return nil, err - } - items = append(items, i) - } - if err := rows.Close(); err != nil { - return nil, err - } - if err := rows.Err(); err != nil { - return nil, err - } - return items, nil -} - const updateAccount = `-- name: UpdateAccount :one UPDATE accounts SET diff --git a/bff/db/sqlc/session.sql.go b/bff/db/sqlc/session.sql.go index 8bfce7c..dec44e4 100644 --- a/bff/db/sqlc/session.sql.go +++ b/bff/db/sqlc/session.sql.go @@ -92,3 +92,40 @@ func (q *Queries) GetSession(ctx context.Context, id uuid.UUID) (Session, error) ) return i, err } + +const listSessions = `-- name: ListSessions :many +SELECT id, email, user_agent, client_ip, refresh_token, is_blocked, expires_at, created_at FROM sessions +WHERE email = $1 AND is_blocked = false AND expires_at > now() +` + +func (q *Queries) ListSessions(ctx context.Context, email string) ([]Session, error) { + rows, err := q.db.QueryContext(ctx, listSessions, email) + if err != nil { + return nil, err + } + defer rows.Close() + items := []Session{} + for rows.Next() { + var i Session + if err := rows.Scan( + &i.ID, + &i.Email, + &i.UserAgent, + &i.ClientIp, + &i.RefreshToken, + &i.IsBlocked, + &i.ExpiresAt, + &i.CreatedAt, + ); err != nil { + return nil, err + } + items = append(items, i) + } + if err := rows.Close(); err != nil { + return nil, err + } + if err := rows.Err(); err != nil { + return nil, err + } + return items, nil +}