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() {