add inet gw validate check on update node api

This commit is contained in:
abhishek9686 2025-06-17 17:06:22 +05:30
parent 15a50a8880
commit a31abf8f09

View file

@ -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(&currentNode, newNode)
if relayUpdate && newNode.IsRelay {
err = logic.ValidateRelay(models.RelayRequest{
@ -670,19 +678,9 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
logic.UpdateRelayed(&currentNode, 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)
}