This commit is contained in:
2024-08-13 13:47:56 +02:00
parent 011b3a8c0b
commit 4ec1d8c5a2
4 changed files with 59 additions and 0 deletions

View File

@ -3,6 +3,7 @@ package models
import (
"context"
"database/sql"
"strings"
"time"
)
@ -223,3 +224,32 @@ func (m *DBModel) InsertCustomer(customer Customer) (int, error) {
}
return int(id), nil
}
// GetUserByEmail gets a user by email address
func (m *DBModel) GetUserByEmail(email string) (User, error) {
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
email = strings.ToLower(email)
var u User
query := `SELECT id, first_name, last_name, email, password, created_at, updated_at
FROM users
WHERE email = ?`
row := m.DB.QueryRowContext(ctx, query, email)
err := row.Scan(
&u.ID,
&u.FirstName,
&u.LastName,
&u.Email,
&u.CreatedAt,
&u.UpdatedAt,
)
if err != nil {
return User{}, err
}
return u, nil
}