Add plugin "type" to plugins (permission sets coming soon)

Ryan Blenis committed Nov 11, 2019 at 09:46 UTC 6d3673a8584585d300a36e1af813ff631ab6c904
2 files changed +3 -3
db.js
+2 -2
@@ -753,10 +753,10 @@ module.exports.CreateDB = function (parent, func) {
753 }
754
755 // Add a plugin
756 - obj.addPlugin = function (plugin, func) { obj.pluginsfile.insertOne(plugin, func); };
756 + obj.addPlugin = function (plugin, func) { plugin.type = "plugin"; obj.pluginsfile.insertOne(plugin, func); };
757
758 // Get all plugins
759 - obj.getPlugins = function (func) { obj.pluginsfile.find().sort({ name: 1 }).toArray(func); };
759 + obj.getPlugins = function (func) { obj.pluginsfile.find({"type": "plugin"}).project({"type": 0}).sort({ name: 1 }).toArray(func); };
760
761 // Get plugin
762 obj.getPlugin = function (id, func) { id = require('mongodb').ObjectID(id); obj.pluginsfile.find({ _id: id }).sort({ name: 1 }).toArray(func); };
meshuser.js
+1 -1
@@ -3113,7 +3113,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
3113 break;
3114 }
3115 case 'plugins': {
3116 - // @Ylianst - Do we need a new permission set here?
3116 + // Since plugin actions generally require a server restart, use the Full admin permission
3117 if ((user.siteadmin & 0xFFFFFFFF) == 0 || parent.parent.pluginHandler == null) break; // must be full admin with plugins enabled
3118 parent.db.getPlugins(function(err, docs) {
3119 try { ws.send(JSON.stringify({ action: 'updatePluginList', list: docs, result: err })); } catch (ex) { }