|
@@ -43,8 +43,15 @@ func createRelay(w http.ResponseWriter, r *http.Request) {
|
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
|
logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ relayHost, err := logic.GetHost(relayNode.HostID.String())
|
|
|
|
+ if err != nil {
|
|
|
|
+ logger.Log(0, r.Header.Get("user"),
|
|
|
|
+ fmt.Sprintf("failed to retrieve host for node [%s] on network [%s]: %v", relayRequest.NodeID, relayRequest.NetID, err))
|
|
|
|
+ logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
relay := models.Client{
|
|
relay := models.Client{
|
|
- Host: *logic.GetHostByNodeID(params["nodeid"]),
|
|
|
|
|
|
+ Host: *relayHost,
|
|
Node: relayNode,
|
|
Node: relayNode,
|
|
}
|
|
}
|
|
peers, err := logic.GetNetworkClients(relay.Node.Network)
|
|
peers, err := logic.GetNetworkClients(relay.Node.Network)
|
|
@@ -94,26 +101,28 @@ func deleteRelay(w http.ResponseWriter, r *http.Request) {
|
|
logger.Log(1, r.Header.Get("user"), "deleted relay server", nodeid, "on network", netid)
|
|
logger.Log(1, r.Header.Get("user"), "deleted relay server", nodeid, "on network", netid)
|
|
go func() {
|
|
go func() {
|
|
//update relayHost node
|
|
//update relayHost node
|
|
- relayHost := logic.GetHostByNodeID(node.ID.String())
|
|
|
|
- if err := mq.NodeUpdate(&node); err != nil {
|
|
|
|
- logger.Log(1, "relay node update", relayHost.Name, "on network", node.Network, ": ", err.Error())
|
|
|
|
- }
|
|
|
|
- for _, relayedClient := range updateClients {
|
|
|
|
- err = mq.NodeUpdate(&relayedClient.Node)
|
|
|
|
- if err != nil {
|
|
|
|
- logger.Log(1, "relayed node update ", relayedClient.Node.ID.String(), "on network", relayedClient.Node.Network, ": ", err.Error())
|
|
|
|
|
|
+ relayHost, err := logic.GetHost(node.HostID.String())
|
|
|
|
+ if err == nil {
|
|
|
|
+ if err := mq.NodeUpdate(&node); err != nil {
|
|
|
|
+ logger.Log(1, "relay node update", relayHost.Name, "on network", node.Network, ": ", err.Error())
|
|
|
|
+ }
|
|
|
|
+ for _, relayedClient := range updateClients {
|
|
|
|
+ err = mq.NodeUpdate(&relayedClient.Node)
|
|
|
|
+ if err != nil {
|
|
|
|
+ logger.Log(1, "relayed node update ", relayedClient.Node.ID.String(), "on network", relayedClient.Node.Network, ": ", err.Error())
|
|
|
|
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ peers, err := logic.GetNetworkClients(node.Network)
|
|
|
|
+ if err != nil {
|
|
|
|
+ logger.Log(0, "error getting network nodes: ", err.Error())
|
|
|
|
+ logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ clients := peers
|
|
|
|
+ for _, client := range clients {
|
|
|
|
+ mq.PubPeerUpdate(&client, nil, peers)
|
|
}
|
|
}
|
|
- }
|
|
|
|
- peers, err := logic.GetNetworkClients(node.Network)
|
|
|
|
- if err != nil {
|
|
|
|
- logger.Log(0, "error getting network nodes: ", err.Error())
|
|
|
|
- logic.ReturnErrorResponse(w, r, logic.FormatError(err, "internal"))
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- clients := peers
|
|
|
|
- for _, client := range clients {
|
|
|
|
- mq.PubPeerUpdate(&client, nil, peers)
|
|
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
logger.Log(1, r.Header.Get("user"), "deleted relay on node", node.ID.String(), "on network", node.Network)
|
|
logger.Log(1, r.Header.Get("user"), "deleted relay on node", node.ID.String(), "on network", node.Network)
|