add internal gorm erros

This commit is contained in:
2026-01-03 15:45:47 +02:00
parent c718db565e
commit 6ce7edd194

View File

@@ -1,6 +1,7 @@
package user
import (
"errors"
"fmt"
"gorm.io/gorm"
@@ -24,6 +25,7 @@ func (s *GormUserStore) Create(user *User) error {
}
// Search returns a user by username or id or email
// May return [ErrUserNotFound] if user not found
func (s *GormUserStore) GetBy(by, value string) (*User, error) {
if by != "username" && by != "id" && by != "email" {
return nil, fmt.Errorf("unsuppored field %s", by)
@@ -31,7 +33,10 @@ func (s *GormUserStore) GetBy(by, value string) (*User, error) {
var user User
err := s.db.Where(fmt.Sprintf("%s = ?", by), value).First(&user).Error
if err != nil {
return nil, err
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, ErrUserNotFound
}
return nil, fmt.Errorf("failed to get user: %w", err)
}
return &user, nil
}