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