From 43c11955313ee52f25e81f0ff68db073be2d684b Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sat, 4 Aug 2018 21:32:24 +0100 Subject: util.pubsub: Add method to retrieve node configuration --- util/pubsub.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'util/pubsub.lua') diff --git a/util/pubsub.lua b/util/pubsub.lua index b124b115..381c449a 100644 --- a/util/pubsub.lua +++ b/util/pubsub.lua @@ -592,6 +592,27 @@ function service:set_node_config(node, actor, new_config) 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; }; -- cgit v1.2.3