diff --git a/internal/repository/users.sql.go b/internal/repository/users.sql.go index 27e734f..adee108 100644 --- a/internal/repository/users.sql.go +++ b/internal/repository/users.sql.go @@ -45,6 +45,27 @@ func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) { return items, nil } +const findUserEmail = `-- name: FindUserEmail :one +SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number FROM users WHERE email = $1 LIMIT 1 +` + +func (q *Queries) FindUserEmail(ctx context.Context, email string) (User, error) { + row := q.db.QueryRow(ctx, findUserEmail, email) + var i User + err := row.Scan( + &i.ID, + &i.Email, + &i.FullName, + &i.PasswordHash, + &i.IsAdmin, + &i.CreatedAt, + &i.UpdatedAt, + &i.LastLogin, + &i.PhoneNumber, + ) + return i, err +} + const insertUser = `-- name: InsertUser :one INSERT INTO users ( email, full_name, password_hash, is_admin diff --git a/queries/users.sql b/queries/users.sql index ab63bb8..ffad357 100644 --- a/queries/users.sql +++ b/queries/users.sql @@ -9,3 +9,5 @@ INSERT INTO users ( ) RETURNING id; +-- name: FindUserEmail :one +SELECT * FROM users WHERE email = $1 LIMIT 1;