use crate::cli::token::github::Github;
#[derive(Debug, usage_rs::Args)]
#[usage(
verbatim_doc_comment,
example(
r###"mise github token
github.com: ghp_…xxxx (source: GITHUB_TOKEN)"###
),
example(
r###"mise github token --unmask
github.com: ghp_xxxxxxxxxxxx (source: GITHUB_TOKEN)"###
),
example(
r###"mise github token github.mycompany.com
github.mycompany.com: (none)"###
),
hide = true
)]
pub(crate) struct Token {
#[usage(default = "github.com")]
host: String,
#[usage(long)]
oauth: bool,
#[usage(long)]
raw: bool,
#[usage(long, requires = "oauth")]
refresh: bool,
#[usage(long)]
unmask: bool,
}
impl Token {
pub(crate) fn run(self) -> eyre::Result<()> {
Github::from(self).run()
}
}
impl From<Token> for Github {
fn from(t: Token) -> Self {
Github {
host: t.host,
git_credential: None,
oauth: t.oauth,
refresh: t.refresh,
raw: t.raw,
unmask: t.unmask,
}
}
}