Software /
code /
prosody-modules
File
mod_audit_user_accounts/mod_audit_user_accounts.lua @ 5931:d194d1012fd3
Updating dox for mod_rest. Ideas expressed / clarified:
1) Making clear that mod_rest isn't to be installed under VirtualHosts AND as a component.
2) Understanding some of the implications of this choice:
A) Changes to user authentication
B) How it affects subdomains
3) More consistent use of domain names for clarity.
4) Using different heading sizes to show scope of section.
Essentially, I added all the tidbits I had to clarify in getting this to work in my
own example.
author | Ben Smith <bens@effortlessis.com> |
---|---|
date | Mon, 13 May 2024 13:25:13 -0700 |
parent | 5768:628952e4ff47 |
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);