diff --git a/internal/services/user_service.go b/internal/services/user_service.go index ab048e2..1a25bd3 100644 --- a/internal/services/user_service.go +++ b/internal/services/user_service.go @@ -1,7 +1,6 @@ package services import ( - "fmt" "net/http" "strings" @@ -20,6 +19,7 @@ import ( type UserServiceInterface interface { RegisterUser(user *models.User) (int64, string, error) GetUserByEmail(email string) (*models.User, error) + GetUserByID(id int64) (*models.User, error) GetUsers(where map[string]interface{}) (*[]models.User, error) VerifyUser(token *string) (*models.User, error) } @@ -69,14 +69,7 @@ func (service *UserService) Update(user *models.User) (int64, string, error) { return http.StatusNotAcceptable, "", err } - if user.Password == "" && user.RoleID != constants.Roles.Member { - return http.StatusNotAcceptable, "", fmt.Errorf("No password provided") - } - hash, err := utils.HashPassword(user.Password) - if err != nil { - return http.StatusInternalServerError, "", err - } - user.Password = hash + setPassword(user.Password, user) user.Status = constants.UnverifiedStatus user.CreatedAt = time.Now() @@ -106,6 +99,12 @@ func (service *UserService) Update(user *models.User) (int64, string, error) { return id, token, nil } + +func (service *UserService) GetUserByID(id int64) (*models.User, error) { + + return service.Repo.GetUserByID(id) +} + func (service *UserService) GetUserByEmail(email string) (*models.User, error) { return service.Repo.GetUserByEmail(email) }