//! Auth command arguments
//!
//! Authentication commands for login, logout, and checking auth status.

use clap::{Args, Subcommand};

/// Auth subcommands
#[derive(Subcommand)]
pub enum AuthCommand {
    /// Log in to mecha10 via browser authentication
    Login(#[command(flatten)] LoginArgs),

    /// Log out and remove stored credentials
    Logout,

    /// Show current authentication status
    Whoami(#[command(flatten)] WhoamiArgs),
}

/// Arguments for login command
#[derive(Args)]
pub struct LoginArgs {
    /// Custom auth server URL (for development/testing)
    #[arg(long)]
    pub auth_url: Option<String>,
}

/// Arguments for whoami command
#[derive(Args)]
pub struct WhoamiArgs {
    /// Show API key prefix (masked)
    #[arg(short, long)]
    pub verbose: bool,
}
