From 45f4c76ff54490d7409098ac8022479f3dbecf43 Mon Sep 17 00:00:00 2001 From: Alexey Date: Thu, 18 Dec 2025 20:01:28 +0200 Subject: [PATCH] mod GetBy function --- internal/user/gorm_store.go | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/internal/user/gorm_store.go b/internal/user/gorm_store.go index c4a8792..d48fa83 100644 --- a/internal/user/gorm_store.go +++ b/internal/user/gorm_store.go @@ -23,18 +23,13 @@ func (s *GormUserStore) Create(user *User) error { return s.db.Create(user).Error } -func (s *GormUserStore) GetByID(id int64) (*User, error) { - var user User - err := s.db.First(&user, id).Error - if err != nil { - return nil, err +// Search returns a user by username or id or email +func (s *GormUserStore) GetBy(by, value string) (*User, error) { + if by != "username" && by != "id" && by != "email" { + return nil, fmt.Errorf("unsuppored field %s", by) } - return &user, nil -} - -func (s *GormUserStore) GetByUsername(username string) (*User, error) { var user User - err := s.db.Where("username = ?", username).First(&user).Error + err := s.db.Where(fmt.Sprintf("%s = ?", by), value).First(&user).Error if err != nil { return nil, err }