diff options
author | Matthew Wild <mwild1@gmail.com> | 2010-12-21 15:26:37 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2010-12-21 15:26:37 +0000 |
commit | 5837f7565673ec5933bb4f528ee3289ea05d0744 (patch) | |
tree | c65e6ce012819992b2222c7522ce1b537c0e42d1 /util/pubsub.lua | |
parent | def542a8fe114a9f09ff54864b7702d9b1eebf1f (diff) | |
download | prosody-5837f7565673ec5933bb4f528ee3289ea05d0744.tar.gz prosody-5837f7565673ec5933bb4f528ee3289ea05d0744.zip |
util.pubsub: Add service:set_node_capabilities()
Diffstat (limited to 'util/pubsub.lua')
-rw-r--r-- | util/pubsub.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/util/pubsub.lua b/util/pubsub.lua index 1363bcb5..657dcd9a 100644 --- a/util/pubsub.lua +++ b/util/pubsub.lua @@ -242,4 +242,19 @@ function service:get_nodes(actor) return true, self.nodes; end +-- Access models only affect 'none' affiliation caps, service/default access level... +function service:set_node_capabilities(node, actor, capabilities) + -- Access checking + if not self:may(node, actor, "configure") then + return false, "forbidden"; + end + -- + local node_obj = self.nodes[node]; + if not node_obj then + return false, "item-not-found"; + end + node_obj.capabilities = capabilities; + return true; +end + return _M; |