diff --git a/internal/modules/auth/application/service.go b/internal/modules/auth/application/service.go index 4b51e15..155c46d 100644 --- a/internal/modules/auth/application/service.go +++ b/internal/modules/auth/application/service.go @@ -9,6 +9,7 @@ import ( "mengstack/internal/modules/auth/domain" "golang.org/x/crypto/bcrypt" + "gorm.io/gorm" ) type Service struct { @@ -35,6 +36,8 @@ func (s *Service) Register(ctx context.Context, req domain.RegisterRequest) (dom if _, err := s.repo.FindByEmail(ctx, tenantID, req.Email); err == nil { return domain.TokenPair{}, errors.ErrUserExists + } else if err != gorm.ErrRecordNotFound { + return domain.TokenPair{}, errors.Wrap(err, "QUERY_USER_FAILED", "failed to check existing user", 500) } hash, err := bcrypt.GenerateFromPassword([]byte(req.Password), 12) @@ -52,7 +55,7 @@ func (s *Service) Register(ctx context.Context, req domain.RegisterRequest) (dom } if err := s.repo.Create(ctx, user); err != nil { - return domain.TokenPair{}, err + return domain.TokenPair{}, errors.Wrap(err, "CREATE_USER_FAILED", "failed to create user", 500) } return s.generateTokens(user)