view mod_groups_shell/mod_groups_shell.lua @ 5708:37ba9478b387

mod_audit: Fix recording location info The method :query_by_addr only works for IPv4, even if you open the IPv6 database, which is an odd API. It also returns a table, not a string.
author Kim Alvefur <zash@zash.se>
date Mon, 13 Nov 2023 12:14:31 +0100
parents 8b69e0b56db2
children
line wrap: on
line source

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