Mercurial > prosody-modules
view mod_audit_user_accounts/mod_audit_user_accounts.lua @ 6083:ffd0184cd478
mod_compliance_latest: New module that depends on and therefore loads the latest compliance tester mod.
diff --git a/mod_compliance_latest/README.md b/mod_compliance_latest/README.md
new file mode 100644
--- /dev/null
+++ b/mod_compliance_latest/README.md
@@ -0,0 +1,25 @@
+---
+summary: XMPP Compliance Suites self-test
+labels:
+- Stage-Beta
+rockspec:
+ dependencies:
+ - mod_compliance_2023
+...
+
+# Introduction
+
+This module will always require and load to the lastest compliance tester we have in the community modules.
+Currently this is [mod_compliance_2023].
+
+# Configuration
+
+Just load this module as any other module and it will automatically install [mod_compliance_2023] if you use the Prosody plugin installer.
+See the linked module for further details.
+
+# Compatibility
+
+ Prosody-Version Status
+ --------------- ----------------------
+ trunk Works as of 2024-12-22
+ 0.12 Works
diff --git a/mod_compliance_latest/mod_compliance_latest.lua b/mod_compliance_latest/mod_compliance_latest.lua
new file mode 100644
--- /dev/null
+++ b/mod_compliance_latest/mod_compliance_latest.lua
@@ -0,0 +1,1 @@
+module:depends("compliance_2023");
| author | Menel <menel@snikket.de> |
|---|---|
| date | Sun, 22 Dec 2024 18:12:42 +0100 |
| parents | 628952e4ff47 |
| children |
line wrap: on
line source
module:depends("audit"); -- luacheck: read globals module.audit local dt = require "util.datetime"; local jid = require "util.jid"; local st = require "util.stanza"; local function audit_basic_event(name, custom_handler) module:hook(name, function (event) local custom; if custom_handler then custom = custom_handler(event); end module:audit(jid.join(event.username, module.host), name, { session = event.session; custom = custom; }); end); end audit_basic_event("user-registered", function (event) local invite = event.validated_invite or (event.session and event.session.validated_invite); if not invite then return; end return { st.stanza( "invite-used", { xmlns = "xmpp:prosody.im/audit", token = invite.token, } ); }; end); audit_basic_event("user-deregistered-pending"); audit_basic_event("user-deregistered"); audit_basic_event("user-enabled"); audit_basic_event("user-disabled", function (event) local meta = event.meta; if not meta then return end local meta_st = st.stanza("disabled", { xmlns = "xmpp:prosody.im/audit"; reason = meta.reason; when = meta.when and dt.datetime(meta.when) or nil; }); if meta.comment then meta_st:text_tag("comment", meta.comment); end return { meta_st }; end);
