Auth
This commit is contained in:
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user