Handle scoped node modules in the api

This commit is contained in:
Nick O'Leary
2016-05-17 21:56:03 +01:00
parent d7715b05ee
commit 9e26aeea1d
4 changed files with 18 additions and 16 deletions

View File

@@ -126,12 +126,12 @@ function init(_server,_runtime) {
adminApp.get("/nodes",needsPermission("nodes.read"),nodes.getAll,errorHandler);
adminApp.post("/nodes",needsPermission("nodes.write"),nodes.post,errorHandler);
adminApp.get("/nodes/:mod",needsPermission("nodes.read"),nodes.getModule,errorHandler);
adminApp.put("/nodes/:mod",needsPermission("nodes.write"),nodes.putModule,errorHandler);
adminApp.delete("/nodes/:mod",needsPermission("nodes.write"),nodes.delete,errorHandler);
adminApp.get(/\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.read"),nodes.getModule,errorHandler);
adminApp.put(/\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.write"),nodes.putModule,errorHandler);
adminApp.delete(/\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.write"),nodes.delete,errorHandler);
adminApp.get("/nodes/:mod/:set",needsPermission("nodes.read"),nodes.getSet,errorHandler);
adminApp.put("/nodes/:mod/:set",needsPermission("nodes.write"),nodes.putSet,errorHandler);
adminApp.get(/\/nodes\/((@[^\/]+\/)?[^\/]+)\/([^\/]+)$/,needsPermission("nodes.read"),nodes.getSet,errorHandler);
adminApp.put(/\/nodes\/((@[^\/]+\/)?[^\/]+)\/([^\/]+)$/,needsPermission("nodes.write"),nodes.putSet,errorHandler);
adminApp.get('/credentials/:type/:id', needsPermission("credentials.read"),credentials.get,errorHandler);

View File

@@ -87,7 +87,7 @@ module.exports = {
res.status(400).json({error:"settings_unavailable", message:"Settings unavailable"});
return;
}
var mod = req.params.mod;
var mod = req.params[0];
try {
var promise = null;
var module = redNodes.getModuleInfo(mod);
@@ -114,7 +114,7 @@ module.exports = {
},
getSet: function(req,res) {
var id = req.params.mod + "/" + req.params.set;
var id = req.params[0] + "/" + req.params[2];
var result = null;
if (req.get("accept") === "application/json") {
result = redNodes.getNodeInfo(id);
@@ -140,7 +140,7 @@ module.exports = {
},
getModule: function(req,res) {
var module = req.params.mod;
var module = req.params[0];
var result = redNodes.getModuleInfo(module);
if (result) {
log.audit({event: "nodes.module.get",module:module},req);
@@ -163,7 +163,7 @@ module.exports = {
res.status(400).json({error:"invalid_request", message:"Invalid request"});
return;
}
var id = req.params.mod + "/" + req.params.set;
var id = req.params[0] + "/" + req.params[2];
try {
var node = redNodes.getNodeInfo(id);
var info;
@@ -195,7 +195,7 @@ module.exports = {
res.status(400).json({error:"invalid_request", message:"Invalid request"});
return;
}
var mod = req.params.mod;
var mod = req.params[0];
try {
var module = redNodes.getModuleInfo(mod);
if (!module) {