Fixed device remove exception.

Ylian Saint-Hilaire committed Sep 9, 2020 at 14:26 UTC 92dd96d91fc933d39d4901f063e6ae43823214de
2 files changed +16 -16
meshagent.js
+8 -8
@@ -63,14 +63,14 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
63 // If this is a temporary or recovery agent, or all devices in this group are temporary, remove the agent (0x20 = Temporary, 0x40 = Recovery)
64 if (((obj.agentInfo) && (obj.agentInfo.capabilities) && ((obj.agentInfo.capabilities & 0x20) || (obj.agentInfo.capabilities & 0x40))) || ((mesh) && (mesh.flags) && (mesh.flags & 1))) {
65 // Delete this node including network interface information and events
66 - db.Remove(obj.dbNodeKey); // Remove node with that id
67 - db.Remove('if' + obj.dbNodeKey); // Remove interface information
68 - db.Remove('nt' + obj.dbNodeKey); // Remove notes
69 - db.Remove('lc' + obj.dbNodeKey); // Remove last connect time
70 - db.Remove('si' + obj.dbNodeKey); // Remove system information
71 - db.RemoveSMBIOS(obj.dbNodeKey); // Remove SMBios data
72 - db.RemoveAllNodeEvents(obj.dbNodeKey); // Remove all events for this node
73 - db.removeAllPowerEventsForNode(obj.dbNodeKey); // Remove all power events for this node
66 + db.Remove(obj.dbNodeKey); // Remove node with that id
67 + db.Remove('if' + obj.dbNodeKey); // Remove interface information
68 + db.Remove('nt' + obj.dbNodeKey); // Remove notes
69 + db.Remove('lc' + obj.dbNodeKey); // Remove last connect time
70 + db.Remove('si' + obj.dbNodeKey); // Remove system information
71 + if (db.RemoveSMBIOS) { db.RemoveSMBIOS(obj.dbNodeKey); } // Remove SMBios data
72 + db.RemoveAllNodeEvents(obj.dbNodeKey); // Remove all events for this node
73 + db.removeAllPowerEventsForNode(obj.dbNodeKey); // Remove all power events for this node
74
75 // Event node deletion
76 parent.parent.DispatchEvent(parent.CreateMeshDispatchTargets(obj.dbMeshKey, [obj.dbNodeKey]), obj, { etype: 'node', action: 'removenode', nodeid: obj.dbNodeKey, domain: domain.id, nolog: 1 });
meshuser.js
+8 -8
@@ -3419,14 +3419,14 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
3419 if ((rights & MESHRIGHT_UNINSTALL) == 0) return;
3420
3421 // Delete this node including network interface information, events and timeline
3422 - db.Remove(node._id); // Remove node with that id
3423 - db.Remove('if' + node._id); // Remove interface information
3424 - db.Remove('nt' + node._id); // Remove notes
3425 - db.Remove('lc' + node._id); // Remove last connect time
3426 - db.Remove('si' + node._id); // Remove system information
3427 - db.RemoveSMBIOS(node._id); // Remove SMBios data
3428 - db.RemoveAllNodeEvents(node._id); // Remove all events for this node
3429 - db.removeAllPowerEventsForNode(node._id); // Remove all power events for this node
3422 + db.Remove(node._id); // Remove node with that id
3423 + db.Remove('if' + node._id); // Remove interface information
3424 + db.Remove('nt' + node._id); // Remove notes
3425 + db.Remove('lc' + node._id); // Remove last connect time
3426 + db.Remove('si' + node._id); // Remove system information
3427 + if (db.RemoveSMBIOS) { db.RemoveSMBIOS(node._id); } // Remove SMBios data
3428 + db.RemoveAllNodeEvents(node._id); // Remove all events for this node
3429 + db.removeAllPowerEventsForNode(node._id); // Remove all power events for this node
3430 db.Get('ra' + obj.dbNodeKey, function (err, nodes) {
3431 if ((nodes != null) && (nodes.length == 1)) { db.Remove('da' + nodes[0].daid); } // Remove diagnostic agent to real agent link
3432 db.Remove('ra' + node._id); // Remove real agent to diagnostic agent link