Software /
code /
prosody
Diff
plugins/mod_pubsub/mod_pubsub.lua @ 13585:8091c1b8023e
mod_pubsub: Expand shell commands to include node/item management
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 07 Jan 2025 14:27:18 +0000 |
parent | 13550:eae0272b87e3 |
child | 13601:0338a5569178 |
line wrap: on
line diff
--- a/plugins/mod_pubsub/mod_pubsub.lua Tue Jan 07 12:26:03 2025 +0000 +++ b/plugins/mod_pubsub/mod_pubsub.lua Tue Jan 07 14:27:18 2025 +0000 @@ -274,41 +274,4 @@ return assert(assert(prosody.hosts[service_jid], "Unknown pubsub service").modules.pubsub, "Not a pubsub service").service; end -module:add_item("shell-command", { - section = "pubsub"; - section_desc = "Manage publish/subscribe nodes"; - name = "create_node"; - desc = "Create a node with the specified name"; - args = { - { name = "service_jid", type = "string" }; - { name = "node_name", type = "string" }; - }; - host_selector = "service_jid"; - - handler = function (self, service_jid, node_name) --luacheck: ignore 212/self - return get_service(service_jid):create(node_name, true); - end; -}); - -module:add_item("shell-command", { - section = "pubsub"; - section_desc = "Manage publish/subscribe nodes"; - name = "list_nodes"; - desc = "List nodes on a pubsub service"; - args = { - { name = "service_jid", type = "string" }; - }; - host_selector = "service_jid"; - - handler = function (self, service_jid) --luacheck: ignore 212/self - -- luacheck: ignore 431/service - local service = get_service(service_jid); - local nodes = select(2, assert(service:get_nodes(true))); - local count = 0; - for node_name in pairs(nodes) do - count = count + 1; - self.session.print(node_name); - end - return true, ("%d nodes"):format(count); - end; -}); +module:require("commands").add_commands(get_service);