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);