Fixed mtype not being a number type in database.

Ylian Saint-Hilaire committed Dec 28, 2020 at 23:33 UTC 076918583111b09dc3d9eda5674cc21036ecdf2a
4 files changed +13 -4
db.js
+8 -1
@@ -101,7 +101,14 @@ module.exports.CreateDB = function (parent, func) {
101 obj.GetAllType('mesh', function (err, docs) {
102 if (err != null) { parent.debug('db', 'ERROR (GetAll mesh): ' + err); }
103 var meshlist = [];
104 - if ((err == null) && (docs.length > 0)) { for (var i in docs) { meshlist.push(docs[i]._id); } }
104 + if ((err == null) && (docs.length > 0)) {
105 + for (var i in docs) {
106 + meshlist.push(docs[i]._id);
107 +
108 + // Make sure all mesh types are number type, if not, fix it.
109 + if (typeof docs[i].mtype == 'string') { docs[i].mtype = parseInt(docs[i].mtype); obj.Set(docs[i]); }
110 + }
111 + }
112 if ((obj.databaseType == 4) || (obj.databaseType == 5)) {
113 // MariaDB
114 sqlDbQuery('DELETE FROM MeshCentral.Main WHERE (extra LIKE ("mesh/%") AND (extra NOT IN ?)', [meshlist], func);
meshuser.js
+3 -1
@@ -2765,6 +2765,8 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2765 }
2766 case 'createmesh':
2767 {
2768 + console.log(command);
2769 +
2770 var err = null;
2771 try {
2772 // Check if we have new group restriction
@@ -2776,7 +2778,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2778 // Create mesh
2779 else if (common.validateString(command.meshname, 1, 128) == false) { err = 'Invalid group name'; } // Meshname is between 1 and 64 characters
2780 else if ((command.desc != null) && (common.validateString(command.desc, 0, 1024) == false)) { err = 'Invalid group description'; } // Mesh description is between 0 and 1024 characters
2779 - else if ((command.meshtype != 1) && (command.meshtype != 2)) { err = 'Invalid group type'; }
2781 + else if ((command.meshtype !== 1) && (command.meshtype !== 2)) { err = 'Invalid group type'; }
2782 } catch (ex) { err = 'Validation exception: ' + ex; }
2783
2784 // Handle any errors
views/default-mobile.handlebars
+1 -1
@@ -1790,7 +1790,7 @@
1790 }
1791
1792 function account_createMeshEx(button, tag) {
1793 - meshserver.send({ action: 'createmesh', meshname: Q('dp3meshname').value, meshtype: Q('dp3meshtype').value, desc: Q('dp3meshdesc').value });
1793 + meshserver.send({ action: 'createmesh', meshname: Q('dp3meshname').value, meshtype: parseInt(Q('dp3meshtype').value), desc: Q('dp3meshdesc').value });
1794 }
1795
1796 function account_validateDeleteAccount() {
views/default.handlebars
+1 -1
@@ -9583,7 +9583,7 @@
9583 }
9584
9585 function account_createMeshEx(button, tag) {
9586 - meshserver.send({ action: 'createmesh', meshname: Q('dp2meshname').value, meshtype: Q('dp2meshtype').value, desc: Q('dp2meshdesc').value });
9586 + meshserver.send({ action: 'createmesh', meshname: Q('dp2meshname').value, meshtype: parseInt(Q('dp2meshtype').value), desc: Q('dp2meshdesc').value });
9587 }
9588
9589 function account_validateDeleteAccount() {