Software /
code /
prosody
Comparison
plugins/mod_admin_shell.lua @ 13681:8f43b954bdac 13.0
mod_admin_shell: Fix result handling of user addrole/delrole commands
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 13 Feb 2025 15:54:39 +0000 |
parent | 13641:d980c3e03637 |
child | 13683:4c1f26b4883b |
comparison
equal
deleted
inserted
replaced
13680:22f1444f08f9 | 13681:8f43b954bdac |
---|---|
1853 elseif prosody.hosts[userhost] and not um.user_exists(username, userhost) then | 1853 elseif prosody.hosts[userhost] and not um.user_exists(username, userhost) then |
1854 return nil, "No such user"; | 1854 return nil, "No such user"; |
1855 elseif userhost ~= host then | 1855 elseif userhost ~= host then |
1856 return nil, "Can't add roles outside users own host" | 1856 return nil, "Can't add roles outside users own host" |
1857 end | 1857 end |
1858 return um.add_user_secondary_role(username, host, new_role); | 1858 local role, err = um.add_user_secondary_role(username, host, new_role); |
1859 if not role then | |
1860 return nil, err; | |
1861 end | |
1862 return true, "Role added"; | |
1859 end | 1863 end |
1860 | 1864 |
1861 describe_command [[user:delrole(jid, host, role) - Remove a secondary role from a user]] | 1865 describe_command [[user:delrole(jid, host, role) - Remove a secondary role from a user]] |
1862 function def_env.user:delrole(jid, host, role_name) | 1866 function def_env.user:delrole(jid, host, role_name) |
1863 local username, userhost = jid_split(jid); | 1867 local username, userhost = jid_split(jid); |
1867 elseif prosody.hosts[userhost] and not um.user_exists(username, userhost) then | 1871 elseif prosody.hosts[userhost] and not um.user_exists(username, userhost) then |
1868 return nil, "No such user"; | 1872 return nil, "No such user"; |
1869 elseif userhost ~= host then | 1873 elseif userhost ~= host then |
1870 return nil, "Can't remove roles outside users own host" | 1874 return nil, "Can't remove roles outside users own host" |
1871 end | 1875 end |
1872 return um.remove_user_secondary_role(username, host, role_name); | 1876 local ok, err = um.remove_user_secondary_role(username, host, role_name); |
1877 if not ok then | |
1878 return nil, err; | |
1879 end | |
1880 return true, "Role removed"; | |
1873 end | 1881 end |
1874 | 1882 |
1875 describe_command [[user:list(hostname, pattern) - List users on the specified host, optionally filtering with a pattern]] | 1883 describe_command [[user:list(hostname, pattern) - List users on the specified host, optionally filtering with a pattern]] |
1876 -- TODO switch to table view, include roles | 1884 -- TODO switch to table view, include roles |
1877 function def_env.user:list(host, pat) | 1885 function def_env.user:list(host, pat) |