소스 검색

fix update req

abhishek9686 1 년 전
부모
커밋
098296bc05
2개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 2
      pro/controllers/inet_gws.go
  2. 1 1
      pro/logic/nodes.go

+ 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)
 		}