Mercurial > prosody-modules
comparison mod_easy_invite/mod_easy_invite.lua @ 4086:50644402c6f5
mod_easy_invite: Rewrite prosodyctl command handler to support new features (from Snikket)
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 07 Sep 2020 12:53:35 +0100 |
| parents | fe75cc43dfbf |
| children | 439ae12bb136 |
comparison
equal
deleted
inserted
replaced
| 4085:fe75cc43dfbf | 4086:50644402c6f5 |
|---|---|
| 245 assert(hosts[host], "Host "..tostring(host).." does not exist"); | 245 assert(hosts[host], "Host "..tostring(host).." does not exist"); |
| 246 sm.initialize_host(host); | 246 sm.initialize_host(host); |
| 247 | 247 |
| 248 -- Load mod_invites | 248 -- Load mod_invites |
| 249 invites = module:context(host):depends("invites"); | 249 invites = module:context(host):depends("invites"); |
| 250 local invite = invites.create_account(); | 250 module:context(host):depends("invites_page"); |
| 251 print(invite.uri); | 251 |
| 252 end | 252 table.remove(arg, 1); |
| 253 | 253 table.remove(arg, 1); |
| 254 | |
| 255 local invite, roles; | |
| 256 if arg[1] == "--reset" then | |
| 257 local nodeprep = require "util.encodings".stringprep.nodeprep; | |
| 258 local username = nodeprep(arg[2]); | |
| 259 if not username then | |
| 260 print("Please supply a valid username to generate a reset link for"); | |
| 261 return; | |
| 262 end | |
| 263 invite = invites.create_account_reset(username); | |
| 264 else | |
| 265 if arg[1] == "--admin" then | |
| 266 roles = { ["prosody:admin"] = true }; | |
| 267 elseif arg[1] == "--role" then | |
| 268 roles = { [arg[2]] = true }; | |
| 269 end | |
| 270 invite = invites.create_account(nil, { roles = roles }); | |
| 271 end | |
| 272 | |
| 273 print(invite.landing_page or invite.uri); | |
| 274 end |
