Go · 2004 bytes Raw Blame History
1 // Code generated by sqlc. DO NOT EDIT.
2 // versions:
3 // sqlc v1.31.1
4 // source: password_resets.sql
5
6 package usersdb
7
8 import (
9 "context"
10
11 "github.com/jackc/pgx/v5/pgtype"
12 )
13
14 const consumePasswordReset = `-- name: ConsumePasswordReset :exec
15 UPDATE password_resets
16 SET used_at = now()
17 WHERE id = $1 AND used_at IS NULL
18 `
19
20 func (q *Queries) ConsumePasswordReset(ctx context.Context, db DBTX, id int64) error {
21 _, err := db.Exec(ctx, consumePasswordReset, id)
22 return err
23 }
24
25 const createPasswordReset = `-- name: CreatePasswordReset :one
26
27 INSERT INTO password_resets (user_id, token_hash, expires_at)
28 VALUES ($1, $2, $3)
29 RETURNING id, user_id, token_hash, expires_at, used_at, created_at
30 `
31
32 type CreatePasswordResetParams struct {
33 UserID int64
34 TokenHash []byte
35 ExpiresAt pgtype.Timestamptz
36 }
37
38 // SPDX-License-Identifier: AGPL-3.0-or-later
39 func (q *Queries) CreatePasswordReset(ctx context.Context, db DBTX, arg CreatePasswordResetParams) (PasswordReset, error) {
40 row := db.QueryRow(ctx, createPasswordReset, arg.UserID, arg.TokenHash, arg.ExpiresAt)
41 var i PasswordReset
42 err := row.Scan(
43 &i.ID,
44 &i.UserID,
45 &i.TokenHash,
46 &i.ExpiresAt,
47 &i.UsedAt,
48 &i.CreatedAt,
49 )
50 return i, err
51 }
52
53 const deleteExpiredPasswordResets = `-- name: DeleteExpiredPasswordResets :exec
54 DELETE FROM password_resets WHERE expires_at < now()
55 `
56
57 func (q *Queries) DeleteExpiredPasswordResets(ctx context.Context, db DBTX) error {
58 _, err := db.Exec(ctx, deleteExpiredPasswordResets)
59 return err
60 }
61
62 const getPasswordResetByTokenHash = `-- name: GetPasswordResetByTokenHash :one
63 SELECT id, user_id, token_hash, expires_at, used_at, created_at
64 FROM password_resets
65 WHERE token_hash = $1
66 `
67
68 func (q *Queries) GetPasswordResetByTokenHash(ctx context.Context, db DBTX, tokenHash []byte) (PasswordReset, error) {
69 row := db.QueryRow(ctx, getPasswordResetByTokenHash, tokenHash)
70 var i PasswordReset
71 err := row.Scan(
72 &i.ID,
73 &i.UserID,
74 &i.TokenHash,
75 &i.ExpiresAt,
76 &i.UsedAt,
77 &i.CreatedAt,
78 )
79 return i, err
80 }
81