chorus_cmd to manage users (as web management is scarcely available)

This commit is contained in:
Mike Dilger 2025-02-11 08:10:58 +13:00
parent cb431b6b00
commit 2bc75aa36b
No known key found for this signature in database
GPG Key ID: 47581A78D4329BA4

View File

@ -67,6 +67,33 @@ fn main() -> Result<(), Error> {
println!("Not found.");
}
}
"dump_users" => {
let users = chorus::dump_authorized_users(&store)?;
for (pubkey, moderator) in users.iter() {
println!("{} {}", pubkey, if *moderator { "moderator" } else { "" });
}
}
"add_user" => {
let pubstr = args.next().ok_or::<Error>(
ChorusError::General("Pubkey argument missing".to_owned()).into(),
)?;
let pk: Pubkey = Pubkey::read_hex(pubstr.as_bytes())?;
let moderator = args.next().ok_or::<Error>(
ChorusError::General("Moderator argument missing".to_owned()).into(),
)?;
let moderator: bool = moderator == "1";
chorus::add_authorized_user(&store, pk, moderator)?;
}
"rm_user" => {
let pubstr = args.next().ok_or::<Error>(
ChorusError::General("Pubkey argument missing".to_owned()).into(),
)?;
let pk: Pubkey = Pubkey::read_hex(pubstr.as_bytes())?;
chorus::rm_authorized_user(&store, pk)?;
}
_ => {
return Err(ChorusError::General("Unknown command.".to_owned()).into());
}