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