MongoDB change stream now updates memory objects.
Ylian Saint-Hilaire committed
May 31, 2019 at 11:38 UTC
d3e1b2d38737a64b45eb0fa673b888d654f1b31f
2 files changed
+15
-1
db.js
+14
@@ -812,6 +812,13 @@ module.exports.CreateDB = function (parent, func) {
812
// Called when a device group has changed
813
function dbMeshChange(meshChange, added) {
814
const mesh = meshChange.fullDocument;
815
+
816
+ // Update the mesh object in memory
817
+ const mmesh = parent.webserver.meshes[mesh._id];
818
+ for (var i in mesh) { mmesh[i] = mesh[i]; }
819
+ for (var i in mmesh) { if (mesh[i] == null) { delete mmesh[i]; } }
820
+
821
+ // Send the mesh update
822
if (mesh.deleted) { mesh.action = 'deletemesh'; } else { mesh.action = (added ? 'createmesh' : 'meshchange'); }
823
mesh.meshid = mesh._id;
824
mesh.nolog = 1;
@@ -823,6 +830,13 @@ module.exports.CreateDB = function (parent, func) {
830
// Called when a user account has changed
831
function dbUserChange(userChange, added) {
832
const user = userChange.fullDocument;
833
+
834
+ // Update the user object in memory
835
+ const muser = parent.webserver.users[user._id];
836
+ for (var i in user) { muser[i] = user[i]; }
837
+ for (var i in muser) { if (user[i] == null) { delete muser[i]; } }
838
+
839
+ // Send the user update
840
parent.DispatchEvent(['*', 'server-users', user._id], obj, { etype: 'user', username: user.name, account: parent.webserver.CloneSafeUser(user), action: (added ? 'accountcreate' : 'accountchange'), domain: user.domain, nolog: 1 });
841
}
842
package.json
+1
-1
@@ -1,6 +1,6 @@
1
{
2
"name": "meshcentral",
3
- "version": "0.3.5-p",
3
+ "version": "0.3.5-r",
4
"keywords": [
5
"Remote Management",
6
"Intel AMT",