Mercurial > prosody-hg
comparison plugins/mod_invites.lua @ 13410:7efdd143fdfc
mod_invites: Allow specifying invite ttl on command line
Was missing a way to pass TTL via command or shell.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 13 Jan 2024 10:58:12 +0100 |
| parents | a6c8a50cdfb5 |
| children | d815882d2692 |
comparison
equal
deleted
inserted
replaced
| 13409:95d8875c90dc | 13410:7efdd143fdfc |
|---|---|
| 2 local it = require "prosody.util.iterators"; | 2 local it = require "prosody.util.iterators"; |
| 3 local url = require "socket.url"; | 3 local url = require "socket.url"; |
| 4 local jid_node = require "prosody.util.jid".node; | 4 local jid_node = require "prosody.util.jid".node; |
| 5 local jid_split = require "prosody.util.jid".split; | 5 local jid_split = require "prosody.util.jid".split; |
| 6 local argparse = require "prosody.util.argparse"; | 6 local argparse = require "prosody.util.argparse"; |
| 7 local human_io = require "prosody.util.human.io"; | |
| 7 | 8 |
| 8 local default_ttl = module:get_option_period("invite_expiry", "1 week"); | 9 local default_ttl = module:get_option_period("invite_expiry", "1 week"); |
| 9 | 10 |
| 10 local token_storage; | 11 local token_storage; |
| 11 if prosody.process_type == "prosody" or prosody.shutdown then | 12 if prosody.process_type == "prosody" or prosody.shutdown then |
| 281 print(" --admin Make the new user privileged") | 282 print(" --admin Make the new user privileged") |
| 282 print(" Equivalent to --role prosody:admin") | 283 print(" Equivalent to --role prosody:admin") |
| 283 print(" --role ROLE Grant the given ROLE to the new user") | 284 print(" --role ROLE Grant the given ROLE to the new user") |
| 284 print(" --group GROUPID Add the user to the group with the given ID") | 285 print(" --group GROUPID Add the user to the group with the given ID") |
| 285 print(" Can be specified multiple times") | 286 print(" Can be specified multiple times") |
| 287 print(" --expires-after T Time until the invite expires (e.g. '1 week')") | |
| 286 print() | 288 print() |
| 287 print("--group can be specified multiple times; the user will be added to all groups.") | 289 print("--group can be specified multiple times; the user will be added to all groups.") |
| 288 print() | 290 print() |
| 289 print("--reset and the other options cannot be mixed.") | 291 print("--reset and the other options cannot be mixed.") |
| 290 return 2 | 292 return 2 |
| 330 invite = assert(invites.create_account_reset(allow_reset)); | 332 invite = assert(invites.create_account_reset(allow_reset)); |
| 331 else | 333 else |
| 332 invite = assert(invites.create_account(nil, { | 334 invite = assert(invites.create_account(nil, { |
| 333 roles = roles, | 335 roles = roles, |
| 334 groups = groups | 336 groups = groups |
| 335 })); | 337 }, opts.expires_after and human_io.parse_duration(opts.expires_after))); |
| 336 end | 338 end |
| 337 | 339 |
| 338 print(invite.landing_page or invite.uri); | 340 print(invite.landing_page or invite.uri); |
| 339 end | 341 end |
