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