From 6ce7edd1942c7250e299a4cb7bb65f2904fd0071 Mon Sep 17 00:00:00 2001 From: Alexey Date: Sat, 3 Jan 2026 15:45:47 +0200 Subject: [PATCH] add internal gorm erros --- internal/user/gorm_store.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/user/gorm_store.go b/internal/user/gorm_store.go index 3d3836f..2afc888 100644 --- a/internal/user/gorm_store.go +++ b/internal/user/gorm_store.go @@ -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 }