Software / code / prosody-modules
Annotate
mod_invites_groups/mod_invites_groups.lua @ 6303:d73cae8d80ce
mod_cloud_notify: actually fix labels
diff --git a/mod_cloud_notify/README.md b/mod_cloud_notify/README.md
--- a/mod_cloud_notify/README.md
+++ b/mod_cloud_notify/README.md
@@ -1,7 +1,7 @@
----
--labels:
--- 'Stage-Beta'
--summary: 'XEP-0357: Cloud push notifications'
+labels:
+- 'Stage-Beta'
+summary: 'XEP-0357: Cloud push notifications'
----
# Introduction
| author | Menel <menel@snikket.de> |
|---|---|
| date | Fri, 13 Jun 2025 10:48:20 +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); |