Moved get node set response to /nodes/:mod/:set

Updated tests
Changed plugin back to module
This commit is contained in:
Anna Thomas
2014-11-20 15:17:13 +00:00
parent 0ff65f6805
commit d614b7c39f
8 changed files with 136 additions and 80 deletions

View File

@@ -52,10 +52,12 @@ function init(adminApp) {
adminApp.get("/nodes",nodes.getAll);
adminApp.post("/nodes",nodes.post);
adminApp.get("/nodes/:id",nodes.get);
adminApp.get("/nodes/:mod",nodes.getModule);
adminApp.put("/nodes/:id",nodes.put);
adminApp.delete("/nodes/:id",nodes.delete);
adminApp.get("/nodes/:mod/:set",nodes.getSet);
// Plugins
adminApp.get("/plugins",plugins.getAll);
adminApp.get("/plugins/:id",plugins.get);

View File

@@ -64,7 +64,7 @@ module.exports = {
}
});
},
delete: function(req,res) {
if (!settings.available()) {
res.send(400,new Error("Settings unavailable").toString());
@@ -86,7 +86,7 @@ module.exports = {
} else {
promise = when.resolve([redNodes.removeNode(id)]).then(server.reportRemovedModules);
}
promise.then(function(removedNodes) {
res.json(removedNodes);
}).otherwise(function(err) {
@@ -96,11 +96,11 @@ module.exports = {
res.send(400,err.toString());
}
},
get: function(req,res) {
var id = req.params.id;
getSet: function(req,res) {
var id = req.params.mod + "/" + req.params.set;
var result = null;
if (req.get("accept") == "application/json") {
if (req.get("accept") === "application/json") {
result = redNodes.getNodeInfo(id);
} else {
result = redNodes.getNodeConfig(id);
@@ -111,7 +111,17 @@ module.exports = {
res.send(404);
}
},
getModule: function(req,res) {
var module = req.params.mod;
var result = redNodes.getModuleInfo(module);
if (result) {
res.send(result);
} else {
res.send(404);
}
},
put: function(req,res) {
if (!settings.available()) {
res.send(400,new Error("Settings unavailable").toString());
@@ -150,6 +160,6 @@ module.exports = {
}
} catch(err) {
res.send(400,err.toString());
}
}
}
}
};

View File

@@ -18,11 +18,11 @@ var redNodes = require("../nodes");
module.exports = {
getAll: function(req,res) {
res.json(redNodes.getPluginList());
res.json(redNodes.getModuleList());
},
get: function(req,res) {
var id = req.params.id;
var result = redNodes.getPluginInfo(id);
var result = redNodes.getModuleInfo(id);
if (result) {
res.send(result);
} else {

View File

@@ -112,13 +112,18 @@ module.exports = {
// Node type registry
registerType: registerType,
getType: registry.get,
getNodeInfo: registry.getNodeInfo,
getNodeModuleInfo: registry.getNodeModuleInfo,
getPluginInfo: registry.getPluginInfo,
getNodeList: registry.getNodeList,
getPluginList: registry.getPluginList,
getNodeModuleInfo: registry.getNodeModuleInfo,
getModuleInfo: registry.getModuleInfo,
getModuleList: registry.getModuleList,
getNodeConfigs: registry.getNodeConfigs,
getNodeConfig: registry.getNodeConfig,
clearRegistry: registry.clear,
cleanNodeList: registry.cleanNodeList,

View File

@@ -161,31 +161,31 @@ var registry = (function() {
}
return list;
},
getPluginList: function() {
getModuleList: function() {
var list = [];
for (var plugin in nodeModules) {
if (nodeModules.hasOwnProperty(plugin)) {
var nodes = nodeModules[plugin].nodes;
for (var module in nodeModules) {
if (nodeModules.hasOwnProperty(module)) {
var nodes = nodeModules[module].nodes;
var m = {
name: plugin,
name: module,
nodes: []
};
for (var i = 0; i < nodes.length; ++i) {
m.nodes.push(filterNodeInfo(nodeConfigs[plugin+"/"+nodes[i]]));
m.nodes.push(filterNodeInfo(nodeConfigs[module+"/"+nodes[i]]));
}
list.push(m);
}
}
return list;
},
getPluginInfo: function(plugin) {
var nodes = nodeModules[plugin].nodes;
getModuleInfo: function(module) {
var nodes = nodeModules[module].nodes;
var m = {
name: plugin,
name: module,
nodes: []
};
for (var i = 0; i < nodes.length; ++i) {
m.nodes.push(filterNodeInfo(nodeConfigs[plugin+"/"+nodes[i]]));
m.nodes.push(filterNodeInfo(nodeConfigs[module+"/"+nodes[i]]));
}
return m;
},
@@ -260,7 +260,7 @@ var registry = (function() {
return nodeTypeToId[type];
},
getModuleInfo: function(type) {
getNodeModuleInfo: function(type) {
return nodeModules[type];
},
@@ -398,7 +398,7 @@ function scanTreeForNodesModules(moduleName) {
var files = fs.readdirSync(pm);
for (var i=0;i<files.length;i++) {
var fn = files[i];
if (!registry.getModuleInfo(fn)) {
if (!registry.getNodeModuleInfo(fn)) {
if (!moduleName || fn == moduleName) {
var pkgfn = path.join(pm,fn,"package.json");
try {
@@ -675,7 +675,7 @@ function addModule(module) {
throw new Error("Settings unavailable");
}
var nodes = [];
if (registry.getModuleInfo(module)) {
if (registry.getNodeModuleInfo(module)) {
return when.reject(new Error("Module already loaded"));
}
var moduleFiles = scanTreeForNodesModules(module);
@@ -695,14 +695,19 @@ module.exports = {
load:load,
clear: registry.clear,
registerType: registry.registerNodeConstructor,
get: registry.getNodeConstructor,
getNodeInfo: registry.getNodeInfo,
getNodeModuleInfo: registry.getModuleInfo,
getPluginInfo: registry.getPluginInfo,
getNodeList: registry.getNodeList,
getPluginList: registry.getPluginList,
getNodeModuleInfo: registry.getNodeModuleInfo,
getModuleInfo: registry.getModuleInfo,
getModuleList: registry.getModuleList,
getNodeConfigs: registry.getAllNodeConfigs,
getNodeConfig: registry.getNodeConfig,
addNode: addNode,
removeNode: registry.removeNode,
enableNode: registry.enableNodeSet,