Software /
code /
prosody-modules
Annotate
mod_invites_groups/mod_invites_groups.lua @ 4974:807007913f67
mod_log_json: Prefer native Lua table.pack over Prosody util.table one
Prosody is removing support for Lua 5.1, which was the reason for
util.table.pack to exist in the first place, since Lua 5.2+ provides
table.pack. In prosody rev 5eaf77114fdb everything was switched over to
use table.pack, opening the door for removing util.table.pack at some
point. This change here is to prepare for that future eventuality.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 11 Jul 2022 20:08:41 +0200 |
parent | 4400:869df5a6b0c5 |
rev | line source |
---|---|
4400
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
1 local mod_groups = module:depends("groups_internal"); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
2 |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
3 module:hook("user-registered", function(event) |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
4 local validated_invite = event.validated_invite or (event.session and event.session.validated_invite); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
5 if not validated_invite then |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
6 -- not registered via invite, nothing to do |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
7 return |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
8 end |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
9 local groups = validated_invite and validated_invite.additional_data and validated_invite.additional_data.groups; |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
10 if not groups then |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
11 -- invite has no groups, nothing to do |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
12 return |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
13 end |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
14 |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
15 local new_username = event.username; |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
16 module:log("debug", "adding %s to groups from invite", new_username); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
17 for _, group in ipairs(groups) do |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
18 mod_groups.add_member(group, new_username); |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
19 end |
869df5a6b0c5
mod_invites_groups: factor group handling out of mod_invites_register
Jonas Schäfer <jonas@wielicki.name>
parents:
diff
changeset
|
20 end); |