cli: Allow changing principal type

This commit is contained in:
Lennart
2025-04-26 11:01:20 +02:00
parent 6422ae8f57
commit 4c6de20d75

View File

@@ -47,6 +47,8 @@ struct EditArgs {
remove_password: bool, remove_password: bool,
#[arg(short, long, help = "Change principal displayname")] #[arg(short, long, help = "Change principal displayname")]
name: Option<String>, name: Option<String>,
#[arg(value_enum, short, long, help = "Change the principal type")]
principal_type: Option<PrincipalType>,
} }
#[derive(Debug, Subcommand)] #[derive(Debug, Subcommand)]
@@ -122,6 +124,7 @@ pub async fn cmd_principals(args: PrincipalsArgs) -> anyhow::Result<()> {
remove_password, remove_password,
password, password,
name, name,
principal_type,
}) => { }) => {
let mut principal = user_store let mut principal = user_store
.get_principal(&id) .get_principal(&id)
@@ -146,6 +149,9 @@ pub async fn cmd_principals(args: PrincipalsArgs) -> anyhow::Result<()> {
if name.is_some() { if name.is_some() {
principal.displayname = name; principal.displayname = name;
} }
if let Some(principal_type) = principal_type {
principal.principal_type = principal_type;
}
user_store.insert_principal(principal, true).await?; user_store.insert_principal(principal, true).await?;
println!("Principal {id} updated"); println!("Principal {id} updated");
} }