mod_groups_shell/mod_groups_shell.lua
author Matthew Wild <mwild1@gmail.com>
Fri, 23 Sep 2022 22:41:15 +0100
changeset 5058 62480053c87b
parent 4435 8b69e0b56db2
permissions -rw-r--r--
mod_cloud_notify_encrypted: Additional debug logging when enabling/skipping
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4435
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     1
module:set_global()
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     2
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     3
local modulemanager = require "core.modulemanager";
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     4
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     5
local shell_env = module:shared("/*/admin_shell/env")
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     6
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     7
shell_env.groups = {};
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     8
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
     9
function shell_env.groups:sync_group(host, group_id)
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    10
	local print = self.session.print;
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    11
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    12
	if not host then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    13
		return false, "host not given"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    14
	end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    15
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    16
	local mod_groups = modulemanager.get_module(host, "groups_internal")
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    17
	if not mod_groups then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    18
		return false, host .. " does not have mod_groups_internal loaded"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    19
	end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    20
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    21
	if not group_id then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    22
		return false, "group id not given"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    23
	end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    24
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    25
	local ok, err = mod_groups.emit_member_events(group_id)
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    26
	if ok then
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    27
		return true, "Synchronised members"
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    28
	else
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    29
		return ok, err
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    30
	end
8b69e0b56db2 mod_groups_shell: add an admin shell command for updating bookmarks
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
    31
end