use clap::{Args, Subcommand};
pub mod login;
pub mod logout;
pub mod status;
#[derive(Args, Debug, Clone)]
pub struct AuthArgs {
#[command(subcommand)]
pub command: AuthCommand,
}
#[derive(Subcommand, Debug, Clone)]
pub enum AuthCommand {
Login(login::LoginArgs),
Logout(logout::LogoutArgs),
Status,
}
pub async fn run(args: AuthArgs) -> anyhow::Result<()> {
match args.command {
AuthCommand::Login(a) => login::run(a).await,
AuthCommand::Logout(a) => logout::run(a).await,
AuthCommand::Status => status::run(),
}
}