diff --git a/internal/user/gorm_store.go b/internal/user/gorm_store.go index 2afc888..45f659f 100644 --- a/internal/user/gorm_store.go +++ b/internal/user/gorm_store.go @@ -41,6 +41,15 @@ func (s *GormUserStore) GetBy(by, value string) (*User, error) { return &user, nil } +func (s *GormUserStore) GetUsers() (*Users, error) { + var users Users + err := s.db.Omit("password").Find(&users).Error + if err != nil { + return nil, err + } + return &users, nil +} + func (s *GormUserStore) Update(user *User) error { return s.db.Save(user).Error } diff --git a/internal/user/service.go b/internal/user/service.go index 5707920..1398511 100644 --- a/internal/user/service.go +++ b/internal/user/service.go @@ -42,6 +42,13 @@ func (s *Service) Create(user *User) error { return s.store.Create(user) } +func (s *Service) GetUsers() (Users, error) { + if !s.isInitialized() { + return nil, fmt.Errorf("user service is not initialized") + } + return s.store.GetUsers() +} + func (s *Service) GetBy(by, value string) (*User, error) { if !s.isInitialized() { return nil, fmt.Errorf("user service is not initialized") diff --git a/internal/user/store.go b/internal/user/store.go index 0dc1e2f..076a56f 100644 --- a/internal/user/store.go +++ b/internal/user/store.go @@ -3,6 +3,7 @@ package user type UserCRUD interface { Create(user *User) error GetBy(by, value string) (*User, error) + GetUsers() (*Users, error) Update(user *User) error Delete(id int64) error