Mercurial > prosody-modules
comparison mod_client_management/mod_client_management.lua @ 5595:eae5599bc0b4
mod_client_management: Add way to revoke (one) client by software
This is a bit hacky but it works.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 14 Jul 2023 15:01:56 +0200 |
| parents | e9af6abf2b1e |
| children | d2561c1d26f5 |
comparison
equal
deleted
inserted
replaced
| 5594:e9af6abf2b1e | 5595:eae5599bc0b4 |
|---|---|
| 309 return nil, "item-not-found"; | 309 return nil, "item-not-found"; |
| 310 end | 310 end |
| 311 local ok = tokenauth.revoke_grant(username, c_id); | 311 local ok = tokenauth.revoke_grant(username, c_id); |
| 312 if not ok then return nil, "internal-server-error"; end | 312 if not ok then return nil, "internal-server-error"; end |
| 313 return true; | 313 return true; |
| 314 elseif c_type == "software" then | |
| 315 local active_clients = get_active_clients(username); | |
| 316 for _, client in ipairs(active_clients) do | |
| 317 if client.user_agent and client.user_agent.software == c_id then | |
| 318 return revoke_client_access(username, client.id); | |
| 319 end | |
| 320 end | |
| 314 end | 321 end |
| 315 end | 322 end |
| 316 | 323 |
| 317 return nil, "item-not-found"; | 324 return nil, "item-not-found"; |
| 318 end | 325 end |
