More lastconnect improvements, added meshid.

Ylian Saint-Hilaire committed Aug 3, 2021 at 19:28 UTC a45febe8645ec9af912f6975254552e3af32498b
2 files changed +10 -5
meshcentral.js
+4 -4
@@ -2139,7 +2139,7 @@ function CreateMeshCentralServer(config, args) {
2139 obj.DispatchEvent(obj.webserver.CreateNodeDispatchTargets(meshid, nodeid), obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, domain: nodeid.split('/')[1], conn: state.connectivity, pwr: state.powerState, ct: connectTime, nolog: 1, nopeers: 1 });
2140
2141 // Save indication of node connection change
2142 - const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], time: Date.now(), cause: 1, connectType: connectType, serverid: obj.serverId };
2142 + const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], meshid: meshid, time: Date.now(), cause: 1, connectType: connectType, serverid: obj.serverId };
2143 if (extraInfo && extraInfo.remoteaddrport) { lc.addr = extraInfo.remoteaddrport; }
2144 obj.db.Set(lc);
2145 }
@@ -2182,7 +2182,7 @@ function CreateMeshCentralServer(config, args) {
2182
2183 // Save indication of node connection change
2184 if (serverid == obj.serverId) {
2185 - const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], time: Date.now(), cause: 1, connectType: connectType, serverid: obj.serverId };
2185 + const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], meshid: meshid, time: Date.now(), cause: 1, connectType: connectType, serverid: obj.serverId };
2186 if (extraInfo && extraInfo.remoteaddrport) { lc.addr = extraInfo.remoteaddrport; }
2187 obj.db.Set(lc);
2188 }
@@ -2210,7 +2210,7 @@ function CreateMeshCentralServer(config, args) {
2210 state.connectivity -= connectType;
2211
2212 // Save indication of node connection change
2213 - const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], time: Date.now(), cause: 0, connectType: connectType, serverid: obj.serverId };
2213 + const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], meshid: meshid, time: Date.now(), cause: 0, connectType: connectType, serverid: obj.serverId };
2214 if (extraInfo && extraInfo.remoteaddrport) { lc.addr = extraInfo.remoteaddrport; }
2215 obj.db.Set(lc);
2216
@@ -2250,7 +2250,7 @@ function CreateMeshCentralServer(config, args) {
2250
2251 // Save indication of node connection change
2252 if (serverid == obj.serverId) {
2253 - const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], time: Date.now(), cause: 0, connectType: connectType, serverid: obj.serverId };
2253 + const lc = { _id: 'lc' + nodeid, type: 'lastconnect', domain: nodeid.split('/')[1], meshid: meshid, time: Date.now(), cause: 0, connectType: connectType, serverid: obj.serverId };
2254 if (extraInfo && extraInfo.remoteaddrport) { lc.addr = extraInfo.remoteaddrport; }
2255 obj.db.Set(lc);
2256 }
meshuser.js
+6 -1
@@ -3211,6 +3211,11 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
3211 }
3212 }
3213
3214 + // Update lastconnect meshid for this node
3215 + db.Get('lc' + node._id, function (err, xnodes) {
3216 + if ((xnodes != null) && (xnodes.length == 1) && (xnodes[0].meshid != command.meshid)) { xnodes[0].meshid = command.meshid; db.Set(xnodes[0]); }
3217 + });
3218 +
3219 // Event the node change
3220 var newMesh = parent.meshes[command.meshid];
3221 var event = { etype: 'node', userid: user._id, username: user.name, action: 'nodemeshchange', nodeid: node._id, node: node, oldMeshId: oldMeshId, newMeshId: command.meshid, msgid: 85, msgArgs: [node.name, newMesh.name], msg: 'Moved device ' + node.name + ' to group ' + newMesh.name, domain: domain.id };
@@ -5284,7 +5289,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5289
5290 // Merge any last connection information
5291 const lc = lastConnects['lc' + results[i].node._id];
5287 - if (lc != null) { delete lc._id; delete lc.type; delete lc.domain; results[i].lastConnect = lc; }
5292 + if (lc != null) { delete lc._id; delete lc.type;; delete lc.meshid; delete lc.domain; results[i].lastConnect = lc; }
5293 }
5294
5295 var output = null;