mirror of
https://github.com/dathere/ckan-devstaller.git
synced 2025-11-09 13:39:49 +00:00
Refactor user management for CKAN installation
This commit is contained in:
parent
f686bd7b2e
commit
2d897b9546
1 changed files with 13 additions and 7 deletions
20
src/main.rs
20
src/main.rs
|
|
@ -259,13 +259,19 @@ fn main() -> Result<()> {
|
||||||
let sysadmin_password = config.sysadmin.password;
|
let sysadmin_password = config.sysadmin.password;
|
||||||
let sysadmin_email = config.sysadmin.email;
|
let sysadmin_email = config.sysadmin.email;
|
||||||
let existing_users = cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini user list").read()?;
|
let existing_users = cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini user list").read()?;
|
||||||
println!("Existing users: {}", existing_users);
|
let user_check = cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini user show {username}").run();
|
||||||
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini user add admin_user password=password email=admin@localhost").run()?;
|
match user_check {
|
||||||
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini sysadmin add admin_user").run()?;
|
Ok(_) => {
|
||||||
cmd!(
|
// User exists, just make sure they're a sysadmin
|
||||||
sh,
|
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini sysadmin add {username}").run().ok();
|
||||||
"ckan -c /etc/ckan/default/ckan.ini sysadmin add admin_user"
|
println!("User {username} already exists, ensured sysadmin privileges.");
|
||||||
)
|
},
|
||||||
|
Err(_) => {
|
||||||
|
// User doesn't exist, create them
|
||||||
|
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()?;
|
||||||
|
}
|
||||||
|
}
|
||||||
.run()?;
|
.run()?;
|
||||||
println!(
|
println!(
|
||||||
"{}",
|
"{}",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue