mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-04 04:04:17 +08:00
add inet gw validate check on update node api
This commit is contained in:
parent
15a50a8880
commit
a31abf8f09
1 changed files with 8 additions and 10 deletions
|
@ -626,6 +626,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||
return
|
||||
}
|
||||
|
||||
if !servercfg.IsPro {
|
||||
newData.AdditionalRagIps = []string{}
|
||||
}
|
||||
|
@ -638,6 +639,13 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||
)
|
||||
return
|
||||
}
|
||||
if newNode.IsInternetGateway && len(newNode.InetNodeReq.InetNodeClientIDs) > 0 {
|
||||
err = logic.ValidateInetGwReq(*newNode, newNode.InetNodeReq, newNode.IsInternetGateway && currentNode.IsInternetGateway)
|
||||
if err != nil {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||
return
|
||||
}
|
||||
}
|
||||
relayUpdate := logic.RelayUpdates(¤tNode, newNode)
|
||||
if relayUpdate && newNode.IsRelay {
|
||||
err = logic.ValidateRelay(models.RelayRequest{
|
||||
|
@ -670,19 +678,9 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
|||
logic.UpdateRelayed(¤tNode, newNode)
|
||||
}
|
||||
if !currentNode.IsInternetGateway && newNode.IsInternetGateway {
|
||||
err = logic.ValidateInetGwReq(*newNode, newNode.InetNodeReq, false)
|
||||
if err != nil {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||
return
|
||||
}
|
||||
logic.SetInternetGw(newNode, newNode.InetNodeReq)
|
||||
}
|
||||
if currentNode.IsInternetGateway && newNode.IsInternetGateway {
|
||||
err = logic.ValidateInetGwReq(*newNode, newNode.InetNodeReq, true)
|
||||
if err != nil {
|
||||
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
|
||||
return
|
||||
}
|
||||
logic.UnsetInternetGw(newNode)
|
||||
logic.SetInternetGw(newNode, newNode.InetNodeReq)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue