Simplify user creation and sysadmin assignment

Refactored user management logic to always add user and sysadmin privileges.
This commit is contained in:
Abdur Rahman 2025-09-04 08:05:51 +00:00 committed by GitHub
parent 2d897b9546
commit 3b76862c0a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -259,19 +259,12 @@ fn main() -> Result<()> {
let sysadmin_password = config.sysadmin.password;
let sysadmin_email = config.sysadmin.email;
let existing_users = cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini user list").read()?;
let user_check = cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini user show {username}").run();
match user_check {
Ok(_) => {
// User exists, just make sure they're a sysadmin
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini sysadmin add {username}").run().ok();
println!("User {username} already exists, ensured sysadmin privileges.");
},
Err(_) => {
// User doesn't exist, create them
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini search-index clear").run().ok();
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini user add {username} password=password email={username}@localhost").run()?;
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini sysadmin add {username}").run()?;
}
}
cmd!(
sh,
"ckan -c /etc/ckan/default/ckan.ini sysadmin add admin_user"
)
.run()?;
println!(
"{}",