use clap::{Args, Subcommand};
#[derive(Clone, Debug, Subcommand)]
pub enum SupportCommands {
Grant(SupportGrantArgs),
List(SupportListArgs),
Revoke(SupportRevokeArgs),
}
#[derive(Clone, Debug, Args)]
pub struct SupportGrantArgs {
pub operator_email: String,
#[arg(long, conflicts_with = "repo")]
pub namespace: Option<String>,
#[arg(long, conflicts_with = "namespace")]
pub repo: Option<String>,
#[arg(long, default_value = "24h")]
pub ttl: String,
#[arg(long)]
pub reason: String,
#[arg(long, default_value = "origin")]
pub remote: String,
}
#[derive(Clone, Debug, Args)]
pub struct SupportListArgs {
#[arg(long, conflicts_with = "repo")]
pub namespace: Option<String>,
#[arg(long, conflicts_with = "namespace")]
pub repo: Option<String>,
#[arg(long)]
pub include_inactive: bool,
#[arg(long, default_value = "origin")]
pub remote: String,
}
#[derive(Clone, Debug, Args)]
pub struct SupportRevokeArgs {
pub id: String,
#[arg(long, default_value = "origin")]
pub remote: String,
}