use clap::Subcommand;

#[derive(Subcommand)]
pub enum AuthCommands {
    /// Login to Doqium (reauthenticate)
    Login {
        /// Profile name (defaults to 'default')
        #[arg(long = "profile", default_value = "default")]
        profile: String,
    },
    /// Logout from Doqium (revoke token)
    Logout {
        /// Session ID to logout (optional - if not provided, logs out current session)
        #[arg(long = "session-id")]
        session_id: Option<String>,
    },
    /// List active authentication tokens
    List,
    /// Profile management commands
    Profiles {
        #[command(subcommand)]
        profile_command: ProfileCommands,
    },
}

#[derive(Subcommand)]
pub enum ProfileCommands {
    /// Switch to a different profile
    Switch {
        /// Profile name to switch to
        name: String,
    },
    /// List all available profiles
    List,
    /// Delete a profile
    Delete {
        /// Profile name to delete
        name: String,
    },
}
