2
0
abhishek9686 1 жил өмнө
parent
commit
098296bc05

+ 2 - 2
pro/controllers/inet_gws.go

@@ -109,13 +109,13 @@ func updateInternetGw(w http.ResponseWriter, r *http.Request) {
 		logic.ReturnErrorResponse(w, r, logic.FormatError(errors.New("node is not a internet gw"), "badrequest"))
 		return
 	}
-
-	proLogic.UnsetInternetGw(&node)
 	err = proLogic.ValidateInetGwReq(node, request)
 	if err != nil {
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
 		return
 	}
+	proLogic.UnsetInternetGw(&node)
+
 	proLogic.SetInternetGw(&node, request)
 	err = logic.UpsertNode(&node)
 	if err != nil {

+ 1 - 1
pro/logic/nodes.go

@@ -26,7 +26,7 @@ func ValidateInetGwReq(inetNode models.Node, req models.InetNodeReq) error {
 		if clientNode.IsInternetGateway {
 			return fmt.Errorf("node %s acting as internet gateway cannot use another internet gateway", clientHost.Name)
 		}
-		if clientNode.InternetGwID != "" {
+		if clientNode.InternetGwID != "" && clientNode.InternetGwID != inetNode.ID.String() {
 			return fmt.Errorf("node %s is already using a internet gateway", clientHost.Name)
 		}