mod_groups_shell/mod_groups_shell.lua
author Kim Alvefur <zash@zash.se>
Thu, 22 Jun 2023 22:00:51 +0200
changeset 5567 a1f8cc591b66
parent 4435 8b69e0b56db2
permissions -rw-r--r--
Back out 22784f001b7f: Documentation change did not match code (thanks bronko)

module:set_global()

local modulemanager = require "core.modulemanager";

local shell_env = module:shared("/*/admin_shell/env")

shell_env.groups = {};

function shell_env.groups:sync_group(host, group_id)
	local print = self.session.print;

	if not host then
		return false, "host not given"
	end

	local mod_groups = modulemanager.get_module(host, "groups_internal")
	if not mod_groups then
		return false, host .. " does not have mod_groups_internal loaded"
	end

	if not group_id then
		return false, "group id not given"
	end

	local ok, err = mod_groups.emit_member_events(group_id)
	if ok then
		return true, "Synchronised members"
	else
		return ok, err
	end
end