mod_admin_shell: Simplify user creation when no role given

Idea here is to prevent a user from being created with the default role
if a different role was given, but that dance wouldn't be needed if no
role is provided.
This commit is contained in:
Kim Alvefur 2023-03-26 16:45:23 +02:00
parent 50058a1e46
commit 1d6989afb1

View file

@ -1516,21 +1516,29 @@ function def_env.user:create(jid, password, role)
elseif um.user_exists(username, host) then
return nil, "User exists";
end
local ok, err = um.create_user(username, nil, host);
if not ok then
return nil, "Could not create user: "..err;
end
if role then
local ok, err = um.create_user(username, nil, host);
if not ok then
return nil, "Could not create user: "..err;
end
local role_ok, rerr = um.set_user_role(jid, host, role);
if not role_ok then
return nil, "Could not set role: " .. tostring(rerr);
end
end
local ok, err = um.set_password(username, password, host, nil);
if not ok then
return nil, "Could not set password for user: "..err;
if password then
local ok, err = um.set_password(username, password, host, nil);
if not ok then
return nil, "Could not set password for user: "..err;
end
end
else
local ok, err = um.create_user(username, password, host);
if not ok then
return nil, "Could not create user: "..err;
end
end
return true, "User created";