use anyhow::anyhow;
use anyhow::Result as AnyResult;
use github_scopes_rs::oauth::OAuthContext;
use std::env;
use std::process::exit;
fn main() -> AnyResult<()> {
let token = match env::var("GITHUB_TOKEN") {
Ok(t) => t,
Err(_e) => {
println!("github token not provide");
exit(1)
}
};
let permissions = match OAuthContext::new(token.as_ref()) {
Ok(s) => s.get_scope_permissions(),
Err(e) => return Err(e),
};
if !permissions.repo.all {
return Err(anyhow!("missing repo access"));
}
Ok(())
}