util/pubsub.lua
changeset 9110 6e42ef9c805c
parent 9109 e70b9e8bc443
child 9120 a19fdc6e4f09
--- a/util/pubsub.lua	Sat Aug 04 21:30:10 2018 +0100
+++ b/util/pubsub.lua	Sat Aug 04 21:32:24 2018 +0100
@@ -592,6 +592,27 @@
 	return true;
 end
 
+function service:get_node_config(node, actor)
+	if not self:may(node, actor, "get_configuration") then
+		return false, "forbidden";
+	end
+
+	local node_obj = self.nodes[node];
+	if not node_obj then
+		return false, "item-not-found";
+	end
+
+	local config_table = {};
+	for k, v in pairs(default_node_config) do
+		config_table[k] = v;
+	end
+	for k, v in pairs(node_obj.config) do
+		config_table[k] = v;
+	end
+
+	return true, config_table;
+end
+
 return {
 	new = new;
 };