fix(NET-380): add option to force delete nodes (#2436)

This commit is contained in:
Aceix
2023-07-10 10:03:47 +00:00
committed by GitHub
parent cd4bd58251
commit b212ae32d1
2 changed files with 5 additions and 2 deletions

View File

@@ -721,6 +721,7 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
// get params
var params = mux.Vars(r)
var nodeid = params["nodeid"]
forceDelete := r.URL.Query().Get("force") == "true"
fromNode := r.Header.Get("requestfrom") == "node"
node, err := logic.GetNodeByID(nodeid)
if err != nil {
@@ -760,7 +761,8 @@ func deleteNode(w http.ResponseWriter, r *http.Request) {
// unset all the relayed nodes
logic.SetRelayedNodes(false, node.ID.String(), node.RelayedNodes)
}
if err := logic.DeleteNode(&node, fromNode); err != nil {
purge := forceDelete || fromNode
if err := logic.DeleteNode(&node, purge); err != nil {
logic.ReturnErrorResponse(w, r, logic.FormatError(fmt.Errorf("failed to delete node"), "internal"))
return
}