Mercurial > prosody-modules
comparison 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 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 4399:846b7af5588c | 4400:869df5a6b0c5 |
|---|---|
| 1 local mod_groups = module:depends("groups_internal"); | |
| 2 | |
| 3 module:hook("user-registered", function(event) | |
| 4 local validated_invite = event.validated_invite or (event.session and event.session.validated_invite); | |
| 5 if not validated_invite then | |
| 6 -- not registered via invite, nothing to do | |
| 7 return | |
| 8 end | |
| 9 local groups = validated_invite and validated_invite.additional_data and validated_invite.additional_data.groups; | |
| 10 if not groups then | |
| 11 -- invite has no groups, nothing to do | |
| 12 return | |
| 13 end | |
| 14 | |
| 15 local new_username = event.username; | |
| 16 module:log("debug", "adding %s to groups from invite", new_username); | |
| 17 for _, group in ipairs(groups) do | |
| 18 mod_groups.add_member(group, new_username); | |
| 19 end | |
| 20 end); |
