legalgo-BE-go/internal/accessor/user/get_user_by_email.go

27 lines
495 B
Go
Raw Permalink Normal View History

2025-02-24 16:48:20 +08:00
package userrepository
import (
"errors"
2025-03-14 12:41:11 +08:00
"fmt"
userdomain "legalgo-BE-go/internal/domain/user"
2025-02-24 16:48:20 +08:00
"gorm.io/gorm"
)
2025-03-06 23:55:46 +08:00
func (ur *accessor) GetUserByEmail(email string) (*userdomain.User, error) {
var user *userdomain.User
2025-02-24 16:48:20 +08:00
if email == "" {
2025-03-14 12:41:11 +08:00
return nil, fmt.Errorf("email is empty")
2025-02-24 16:48:20 +08:00
}
2025-03-06 23:55:46 +08:00
if err := ur.db.First(&user, "email = ?", email).Error; err != nil {
2025-02-24 16:48:20 +08:00
if errors.Is(err, gorm.ErrRecordNotFound) {
2025-03-14 12:41:11 +08:00
return nil, fmt.Errorf("user not found")
2025-02-24 16:48:20 +08:00
}
return nil, err
}
return user, nil
2025-02-24 16:48:20 +08:00
}