Software /
code /
prosody-modules
Diff
mod_invites_groups/mod_invites_groups.lua @ 4400:869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
author | Jonas Schäfer <jonas@wielicki.name> |
---|---|
date | Tue, 26 Jan 2021 22:04:23 +0100 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_invites_groups/mod_invites_groups.lua Tue Jan 26 22:04:23 2021 +0100 @@ -0,0 +1,20 @@ +local mod_groups = module:depends("groups_internal"); + +module:hook("user-registered", function(event) + local validated_invite = event.validated_invite or (event.session and event.session.validated_invite); + if not validated_invite then + -- not registered via invite, nothing to do + return + end + local groups = validated_invite and validated_invite.additional_data and validated_invite.additional_data.groups; + if not groups then + -- invite has no groups, nothing to do + return + end + + local new_username = event.username; + module:log("debug", "adding %s to groups from invite", new_username); + for _, group in ipairs(groups) do + mod_groups.add_member(group, new_username); + end +end);