mirror of
https://github.com/gravitl/netmaker.git
synced 2025-11-03 11:02:11 +08:00
turning validation back on and changing response message.
This commit is contained in:
@@ -300,11 +300,7 @@ func CreateNode(node models.Node, networkName string) (models.Node, error) {
|
|||||||
//until one is open and then returns it
|
//until one is open and then returns it
|
||||||
node.Address, err = functions.UniqueAddress(networkName)
|
node.Address, err = functions.UniqueAddress(networkName)
|
||||||
|
|
||||||
if err != nil {/*
|
if err != nil {
|
||||||
errorResponse := models.ErrorResponse{
|
|
||||||
Code: http.StatusInternalServerError, Message: "W1R3: Encountered an internal error! ",
|
|
||||||
}*/
|
|
||||||
//returnErrorResponse(w, r, errorResponse)
|
|
||||||
return node, err
|
return node, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,39 @@ func getNetworks(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func validateNetwork(operation string, network models.Network) error {
|
func validateNetworkUpdate(network models.Network) error {
|
||||||
|
|
||||||
|
v := validator.New()
|
||||||
|
|
||||||
|
_ = v.RegisterValidation("addressrange_valid", func(fl validator.FieldLevel) bool {
|
||||||
|
isvalid := fl.Field().String() == "" || functions.IsIpv4CIDR(fl.Field().String())
|
||||||
|
return isvalid
|
||||||
|
})
|
||||||
|
|
||||||
|
_ = v.RegisterValidation("localrange_valid", func(fl validator.FieldLevel) bool {
|
||||||
|
isvalid := fl.Field().String() == "" || functions.IsIpv4CIDR(fl.Field().String())
|
||||||
|
return isvalid
|
||||||
|
})
|
||||||
|
|
||||||
|
_ = v.RegisterValidation("netid_valid", func(fl validator.FieldLevel) bool {
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
|
_ = v.RegisterValidation("displayname_unique", func(fl validator.FieldLevel) bool {
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
|
err := v.Struct(network)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
for _, e := range err.(validator.ValidationErrors) {
|
||||||
|
fmt.Println(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func validateNetworkCreate(network models.Network) error {
|
||||||
|
|
||||||
v := validator.New()
|
v := validator.New()
|
||||||
|
|
||||||
@@ -112,23 +144,19 @@ func validateNetwork(operation string, network models.Network) error {
|
|||||||
})
|
})
|
||||||
|
|
||||||
_ = v.RegisterValidation("localrange_valid", func(fl validator.FieldLevel) bool {
|
_ = v.RegisterValidation("localrange_valid", func(fl validator.FieldLevel) bool {
|
||||||
isvalid := !*network.IsLocal || functions.IsIpv4CIDR(fl.Field().String())
|
isvalid := fl.Field().String() == "" || functions.IsIpv4CIDR(fl.Field().String())
|
||||||
return isvalid
|
return isvalid
|
||||||
})
|
})
|
||||||
|
|
||||||
_ = v.RegisterValidation("netid_valid", func(fl validator.FieldLevel) bool {
|
_ = v.RegisterValidation("netid_valid", func(fl validator.FieldLevel) bool {
|
||||||
isFieldUnique := false
|
isFieldUnique, _ := functions.IsNetworkNameUnique(fl.Field().String())
|
||||||
inCharSet := false
|
inCharSet := functions.NameInNetworkCharSet(fl.Field().String())
|
||||||
if operation == "update" { isFieldUnique = true } else{
|
|
||||||
isFieldUnique, _ = functions.IsNetworkNameUnique(fl.Field().String())
|
|
||||||
inCharSet = functions.NameInNetworkCharSet(fl.Field().String())
|
|
||||||
}
|
|
||||||
return isFieldUnique && inCharSet
|
return isFieldUnique && inCharSet
|
||||||
})
|
})
|
||||||
|
|
||||||
_ = v.RegisterValidation("displayname_unique", func(fl validator.FieldLevel) bool {
|
_ = v.RegisterValidation("displayname_unique", func(fl validator.FieldLevel) bool {
|
||||||
isFieldUnique, _ := functions.IsNetworkDisplayNameUnique(fl.Field().String())
|
isFieldUnique, _ := functions.IsNetworkDisplayNameUnique(fl.Field().String())
|
||||||
return isFieldUnique || operation == "update"
|
return isFieldUnique
|
||||||
})
|
})
|
||||||
|
|
||||||
err := v.Struct(network)
|
err := v.Struct(network)
|
||||||
@@ -281,9 +309,9 @@ func updateNetwork(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//err = validateNetwork("update", networkChange)
|
err = validateNetworkUpdate(networkChange)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
returnErrorResponse(w,r,formatError(err, "internal"))
|
returnErrorResponse(w,r,formatError(err, "badrequest"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -475,9 +503,9 @@ func createNetwork(w http.ResponseWriter, r *http.Request) {
|
|||||||
network.IsLocal = &falsevar
|
network.IsLocal = &falsevar
|
||||||
}
|
}
|
||||||
|
|
||||||
//err = validateNetwork("create", network)
|
err = validateNetworkCreate(network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
returnErrorResponse(w,r,formatError(err, "internal"))
|
returnErrorResponse(w,r,formatError(err, "badrequest"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
network.SetDefaults()
|
network.SetDefaults()
|
||||||
|
|||||||
@@ -500,7 +500,7 @@ func createNode(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
err = ValidateNode("create", networkName, node)
|
err = ValidateNode("create", networkName, node)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
returnErrorResponse(w,r,formatError(err, "internal"))
|
returnErrorResponse(w,r,formatError(err, "badrequest"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -746,7 +746,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
err = ValidateNode("update", params["network"], nodechange)
|
err = ValidateNode("update", params["network"], nodechange)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
returnErrorResponse(w,r,formatError(err, "internal"))
|
returnErrorResponse(w,r,formatError(err, "badrequest"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user