|
@@ -239,7 +239,7 @@ func createExtClient(w http.ResponseWriter, r *http.Request) {
|
|
|
return
|
|
|
}
|
|
|
w.WriteHeader(http.StatusOK)
|
|
|
- err = mq.PublishExtPeerUpdate(nodeid)
|
|
|
+ err = mq.PublishExtPeerUpdate(&node)
|
|
|
if err != nil {
|
|
|
logger.Log(1, "error setting ext peers on "+nodeid+": "+err.Error())
|
|
|
}
|
|
@@ -287,20 +287,30 @@ func deleteExtClient(w http.ResponseWriter, r *http.Request) {
|
|
|
// get params
|
|
|
var params = mux.Vars(r)
|
|
|
|
|
|
- err := logic.DeleteExtClient(params["network"], params["clientid"])
|
|
|
+ extclient, err := logic.GetExtClient(params["clientid"], params["network"])
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("Could not delete extclient " + params["clientid"])
|
|
|
+ returnErrorResponse(w, r, formatError(err, "internal"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ ingressnode, err := logic.GetNodeByID(extclient.IngressGatewayID)
|
|
|
+ if err != nil {
|
|
|
+ returnErrorResponse(w, r, formatError(err, "internal"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = logic.DeleteExtClient(params["network"], params["clientid"])
|
|
|
|
|
|
if err != nil {
|
|
|
err = errors.New("Could not delete extclient " + params["clientid"])
|
|
|
returnErrorResponse(w, r, formatError(err, "internal"))
|
|
|
return
|
|
|
}
|
|
|
- /*
|
|
|
- // we dont currently have logic to get the nodeid when we delete ext clients, apparently
|
|
|
- err = mq.PublishExtPeerUpdate(nodeid)
|
|
|
- if err != nil {
|
|
|
- logger.Log("error setting ext peers on " + nodeid + ": " + err.Error())
|
|
|
- }
|
|
|
- */
|
|
|
+
|
|
|
+ err = mq.PublishExtPeerUpdate(&ingressnode)
|
|
|
+ if err != nil {
|
|
|
+ logger.Log(1, "error setting ext peers on "+ingressnode.ID+": "+err.Error())
|
|
|
+ }
|
|
|
logger.Log(1, r.Header.Get("user"),
|
|
|
"Deleted extclient client", params["clientid"], "from network", params["network"])
|
|
|
returnSuccessResponse(w, r, params["clientid"]+" deleted.")
|