23 lines
470 B
Go
23 lines
470 B
Go
package users
|
|
|
|
import (
|
|
"context"
|
|
"system-trace/core/database"
|
|
"system-trace/core/database/entities"
|
|
"system-trace/core/utils"
|
|
)
|
|
|
|
func FindByEmailAndPassword(email, password string) (*entities.User, error) {
|
|
passwordHash := utils.SHA256(password)
|
|
ctx := context.Background()
|
|
u := new(entities.User)
|
|
err := database.PG.NewSelect().
|
|
Model(u).
|
|
Where("email = ?", email).
|
|
Where("password_hash = ?", passwordHash).
|
|
Column("id").
|
|
Scan(ctx)
|
|
|
|
return u, err
|
|
}
|