From 05745ec831c2dc708bf9017c14ec2ec45766f092 Mon Sep 17 00:00:00 2001 From: "$(pass /github/name)" <$(pass /github/email)> Date: Sat, 13 Jul 2024 00:48:23 +0200 Subject: [PATCH] removed e164 phone validation --- internal/models/user.go | 2 +- internal/utils/validators.go | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/models/user.go b/internal/models/user.go index c48151c..c9e37b7 100644 --- a/internal/models/user.go +++ b/internal/models/user.go @@ -11,7 +11,7 @@ type User struct { DateOfBirth time.Time `gorm:"not null" json:"date_of_birth" validate:"required,age"` CreatedAt time.Time Salt *string `json:"-"` - Phone string `json:"phone" validate:"omitempty,omitnil,e164"` + Phone string `json:"phone" validate:"omitempty,omitnil"` Notes *string `json:"notes"` FirstName string `gorm:"not null" json:"first_name" validate:"required,alphaunicode"` Password string `json:"password"` diff --git a/internal/utils/validators.go b/internal/utils/validators.go index 8099661..efff381 100644 --- a/internal/utils/validators.go +++ b/internal/utils/validators.go @@ -3,7 +3,6 @@ package utils // import "regexp" import ( - // "reflect" "GoMembership/internal/database" "GoMembership/internal/models" "GoMembership/pkg/logger" @@ -69,16 +68,22 @@ func ValidateRequiredMembershipField(fl validator.FieldLevel) bool { // Get the value of the field specified by RequiredMembershipField fieldValue := reflect.ValueOf(membership).FieldByName(fieldName) + logger.Info.Printf("Starting fieldValue Validation for %v: %#v", fieldName, fieldValue) + // Check if the fieldValue is valid if !fieldValue.IsValid() { return false } + logger.Info.Printf("fieldValue is valid: %#v", fieldValue) + // Check if the fieldValue is a nil pointer if fieldValue.Kind() == reflect.Ptr && fieldValue.IsNil() { return false } + logger.Info.Println("fieldValue is not a nil pointer") + // Ensure that the fieldValue is an int64 var fieldInt64 int64 if fieldValue.Kind() == reflect.Int64 { @@ -86,12 +91,17 @@ func ValidateRequiredMembershipField(fl validator.FieldLevel) bool { } else { return false } + + logger.Info.Println("fieldValue is a int") + var membershipIDs []int64 if err := database.DB.Model(&models.Membership{}).Pluck("id", &membershipIDs).Error; err != nil { logger.Error.Fatalf("Couldn't get SubscriptionModel names: %#v", err) return false } + logger.Info.Printf("found ids of members: %#v", membershipIDs) + // logger.Info.Printf("FIELD_NAME: %#v\nVALUE: %#v", fieldName, fieldValue) // Check if the field value is zero (empty) return slices.Contains(membershipIDs, fieldInt64)