From ac037b12e06d75f785c2aea46e783fc66709f773 Mon Sep 17 00:00:00 2001 From: "$(pass /github/name)" <$(pass /github/email)> Date: Fri, 12 Jul 2024 18:58:32 +0200 Subject: [PATCH] added additional tests for parent id --- internal/controllers/user_controller.go | 5 +++-- internal/utils/validators.go | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/internal/controllers/user_controller.go b/internal/controllers/user_controller.go index 58aafac..ce3970f 100644 --- a/internal/controllers/user_controller.go +++ b/internal/controllers/user_controller.go @@ -1,6 +1,8 @@ package controllers import ( + "fmt" + "GoMembership/internal/models" "GoMembership/internal/services" @@ -45,7 +47,7 @@ func (uc *UserController) RegisterUser(c *gin.Context) { id, token, err := uc.Service.RegisterUser(®Data.User) if err != nil { logger.Error.Printf("Couldn't register User: %v", err) - c.JSON(http.StatusInternalServerError, gin.H{"error": "Couldn't register User"}) + c.JSON(http.StatusInternalServerError, gin.H{"error": fmt.Sprintf("Couldn't register User: %v", err)}) return } regData.User.ID = id @@ -85,7 +87,6 @@ func (uc *UserController) RegisterUser(c *gin.Context) { logger.Error.Printf("Failed to notify admin of new user registration: %v", err) // Proceed without returning error since user registration is successful } - c.JSON(http.StatusCreated, gin.H{ "status": "success", "id": regData.User.ID, diff --git a/internal/utils/validators.go b/internal/utils/validators.go index 7fe889c..8099661 100644 --- a/internal/utils/validators.go +++ b/internal/utils/validators.go @@ -68,6 +68,17 @@ func ValidateRequiredMembershipField(fl validator.FieldLevel) bool { // Get the value of the field specified by RequiredMembershipField fieldValue := reflect.ValueOf(membership).FieldByName(fieldName) + + // Check if the fieldValue is valid + if !fieldValue.IsValid() { + return false + } + + // Check if the fieldValue is a nil pointer + if fieldValue.Kind() == reflect.Ptr && fieldValue.IsNil() { + return false + } + // Ensure that the fieldValue is an int64 var fieldInt64 int64 if fieldValue.Kind() == reflect.Int64 {