Mercurial > prosody-modules
comparison mod_invites/mod_invites.lua @ 4079:b68b917e568f
mod_invites: Include invite type and uri in validated invites (from Snikket)
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 07 Sep 2020 13:02:51 +0100 |
parents | 2f0c8670d2fa |
children | 14a3f5223074 |
comparison
equal
deleted
inserted
replaced
4078:2f0c8670d2fa | 4079:b68b917e568f |
---|---|
99 return nil, "no-token"; | 99 return nil, "no-token"; |
100 end | 100 end |
101 | 101 |
102 local valid_until, inviter; | 102 local valid_until, inviter; |
103 | 103 |
104 -- Fetch from host store (account invite) | |
105 local token_info = token_storage:get(nil, token); | |
106 | |
104 if username then -- token being used for subscription | 107 if username then -- token being used for subscription |
105 -- Fetch from user store (subscription invite) | 108 -- Fetch from user store (subscription invite) |
106 valid_until = token_storage:get(username, token); | 109 valid_until = token_storage:get(username, token); |
107 else -- token being used for account creation | 110 else -- token being used for account creation |
108 -- Fetch from host store (account invite) | |
109 local token_info = token_storage:get(nil, token); | |
110 valid_until = token_info and token_info.expires; | 111 valid_until = token_info and token_info.expires; |
111 if token_info.type == "roster" then | 112 if token_info.type == "roster" then |
112 username = jid_node(token_info.jid); | 113 username = jid_node(token_info.jid); |
113 inviter = username; | 114 inviter = username; |
114 end | 115 end |
124 | 125 |
125 return setmetatable({ | 126 return setmetatable({ |
126 token = token; | 127 token = token; |
127 username = username; | 128 username = username; |
128 inviter = inviter; | 129 inviter = inviter; |
130 type = token_info and token_info.type or "roster"; | |
131 uri = token_info and token_info.uri or get_uri("roster", username.."@"..module.host, token); | |
129 additional_data = token_info and token_info.additional_data or nil; | 132 additional_data = token_info and token_info.additional_data or nil; |
130 }, valid_invite_mt); | 133 }, valid_invite_mt); |
131 end | 134 end |
132 | 135 |
133 function use(token) --luacheck: ignore 131/use | 136 function use(token) --luacheck: ignore 131/use |