Upstream sync
This commit is contained in:
@@ -33,6 +33,20 @@ const (
|
||||
time10Minutes = 10
|
||||
)
|
||||
|
||||
func isMixedIDValid(id string) bool {
|
||||
hasUpperCase := false
|
||||
hasLowerCase := false
|
||||
hasNumber := false
|
||||
|
||||
for _, character := range (id) {
|
||||
hasUpperCase = hasUpperCase || ((character >= 65) && (character <= 90))
|
||||
hasLowerCase = hasLowerCase || ((character >= 97) && (character <= 122))
|
||||
hasNumber = hasNumber || ((character >= 48) && (character <= 57))
|
||||
}
|
||||
|
||||
return (hasUpperCase || hasLowerCase) && hasNumber
|
||||
}
|
||||
|
||||
func ValidateRide(requestRide *viewmodel.RideRequest, user *viewmodel.User) []errors.ValidationError {
|
||||
var result []errors.ValidationError
|
||||
var validUUIDregex = regexp.MustCompile(`^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$`)
|
||||
@@ -43,8 +57,13 @@ func ValidateRide(requestRide *viewmodel.RideRequest, user *viewmodel.User) []er
|
||||
result = append(result, errors.ValidationError{Field : "user_uuid", Message : "Step #1 - Choose a Member" })
|
||||
}
|
||||
|
||||
if !validUUIDregex.MatchString(requestRide.Origin.ID) {
|
||||
result = append (result, errors.ValidationError{Field : "origin.id", Message : "Step #1 - Choose a Pickup Address"})
|
||||
fmt.Println("\n\n", requestRide.Origin.ID, "\n\n")
|
||||
if !isMixedIDValid(requestRide.Origin.ID) {
|
||||
//it is not UUID or similar to UUID, let's try with just a number
|
||||
if originID, err := strconv.Atoi(requestRide.Origin.ID) ; err!= nil || originID <= 0 {
|
||||
//it is not a number
|
||||
result = append (result, errors.ValidationError{Field : "origin.id", Message : "Step #1 - Choose a Pickup Address"})
|
||||
}
|
||||
}
|
||||
|
||||
if !requestRide.UserConsent {
|
||||
@@ -52,9 +71,13 @@ func ValidateRide(requestRide *viewmodel.RideRequest, user *viewmodel.User) []er
|
||||
}
|
||||
|
||||
//Step #2 validation
|
||||
|
||||
if destinationID, err := strconv.Atoi(requestRide.Destination.ID) ; err!= nil || destinationID <= 0 {
|
||||
result = append (result, errors.ValidationError{Field : "destination.id", Message : "Step #2 - Choose a Provider"})
|
||||
|
||||
fmt.Println("\n\n", requestRide.Destination.ID, "\n\n")
|
||||
if !isMixedIDValid(requestRide.Destination.ID) {
|
||||
//it is not UUID or similar to UUID, let's try with just a number
|
||||
if destinationID, err := strconv.Atoi(requestRide.Destination.ID) ; err!= nil || destinationID <= 0 {
|
||||
result = append (result, errors.ValidationError{Field : "destination.id", Message : "Step #2 - Choose a Provider"})
|
||||
}
|
||||
}
|
||||
|
||||
//Step #3 validation
|
||||
@@ -91,8 +114,6 @@ func ValidateRide(requestRide *viewmodel.RideRequest, user *viewmodel.User) []er
|
||||
|
||||
isTripTypeValid := true
|
||||
|
||||
fmt.Println("\n\n",requestRide.PickupTime,"\n\n")
|
||||
|
||||
switch requestRide.TripType.Key {
|
||||
case tripTypeToVisit:
|
||||
if requestRide.PickupTime == nil {
|
||||
|
||||
Reference in New Issue
Block a user