use clap::{Args, Subcommand};
use serde::{Deserialize, Serialize};
#[derive(Serialize, Debug, Deserialize, Args, derive_more::From, Clone)]
pub struct UsersArgs {
#[command(subcommand)]
pub command: UsersCommands,
}
#[derive(Subcommand, Serialize, Debug, Deserialize, derive_more::From, Clone)]
pub enum UsersCommands {
ChangePassword(UserChangePasswordArgs),
#[command(visible_alias("my-groups"))]
Groups,
}
#[derive(Serialize, Debug, Deserialize, Args, derive_more::From, Clone)]
pub struct UserChangePasswordArgs {
pub orig_password: Option<String>,
pub new_password: Option<String>,
}