Mercurial > prosody-modules
view mod_groups_shell/mod_groups_shell.lua @ 4983:7c77058a1ac5
mod_compat_roles: New module providing compat shim for trunk's new role API
The new role API is translated to is_admin() calls on older versions. On newer
versions (which have the role API) this module does nothing.
It allows modules to drop their use of is_admin() (which is not available in
trunk) and switch to the new role API, while remaining compatible with
previous Prosody versions.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 11 Aug 2022 17:49:33 +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