Pass through user info, plugin dev's can handle their own permissions.

Ryan Blenis committed Nov 5, 2019 at 04:17 UTC 3567330799e948533c468a9bf41416cee4b06756
2 files changed +6 -6
pluginHandler.js
+4 -4
@@ -383,22 +383,22 @@ module.exports.pluginHandler = function (parent) {
383 });
384 };
385
386 - obj.handleAdminReq = function (req, res, serv) {
386 + obj.handleAdminReq = function (req, res, user, serv) {
387 var path = obj.path.join(obj.pluginPath, req.query.pin, 'views');
388 serv.app.set('views', path);
389 if (obj.plugins[req.query.pin] != null && typeof obj.plugins[req.query.pin].handleAdminReq == 'function') {
390 - obj.plugins[req.query.pin].handleAdminReq(req, res);
390 + obj.plugins[req.query.pin].handleAdminReq(req, res, user);
391 }
392 else {
393 res.sendStatus(401);
394 }
395 }
396
397 - obj.handleAdminPostReq = function(req, res, serv) {
397 + obj.handleAdminPostReq = function(req, res, user, serv) {
398 var path = obj.path.join(obj.pluginPath, req.query.pin, 'views');
399 serv.app.set('views', path);
400 if (obj.plugins[req.query.pin] != null && typeof obj.plugins[req.query.pin].handleAdminPostReq == 'function') {
401 - obj.plugins[req.query.pin].handleAdminPostReq(req, res);
401 + obj.plugins[req.query.pin].handleAdminPostReq(req, res, user);
402 }
403 else {
404 res.sendStatus(401);
webserver.js
+2 -2
@@ -3196,7 +3196,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
3196 var user = obj.users[req.session.userid];
3197 if ((user == null) || ((user.siteadmin & 0xFFFFFFFF) == 0)) { res.sendStatus(401); return; }
3198
3199 - parent.pluginHandler.handleAdminReq(req, res, obj);
3199 + parent.pluginHandler.handleAdminReq(req, res, user, obj);
3200 }
3201
3202 obj.handlePluginAdminPostReq = function(req, res) {
@@ -3206,7 +3206,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
3206 var user = obj.users[req.session.userid];
3207 if ((user == null) || ((user.siteadmin & 0xFFFFFFFF) == 0)) { res.sendStatus(401); return; }
3208
3209 - parent.pluginHandler.handleAdminPostReq(req, res, obj);
3209 + parent.pluginHandler.handleAdminPostReq(req, res, user, obj);
3210 }
3211
3212 // Starts the HTTPS server, this should be called after the user/mesh tables are loaded