Struct pattrick::PatTokenManager
source · pub struct PatTokenManager {
pub ad_token: AzureADToken,
pub client: Client,
}
Expand description
PatTokenManager is a struct that manages the creation, listing, getting and deletion of PAT tokens. It uses the Azure AD token to authenticate with Azure DevOps.
Example
use pattrick::PatTokenManager;
use pattrick::azure::get_ad_token_for_devops;
use reqwest::Client;
let pat_manager = PatTokenManager {
ad_token: get_ad_token_for_devops(1).await?,
client: Client::new(),
};
Fields§
§ad_token: AzureADToken
Azure AD token used to authenticate with Azure DevOps
client: Client
Reqwest client used to make requests
Implementations§
source§impl PatTokenManager
impl PatTokenManager
sourcepub async fn create_pat_token(
&self,
create_request: PatTokenCreateRequest
) -> Result<PatToken, Box<dyn Error>>
pub async fn create_pat_token( &self, create_request: PatTokenCreateRequest ) -> Result<PatToken, Box<dyn Error>>
Create a new PAT token
Example
use pattrick::{PatTokenManager, PatTokenCreateRequest};
use pattrick_clap::Scope;
use pattrick::azure::get_ad_token_for_devops;
use chrono::{Utc, Duration};
let pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);
let pat_token = pat_manager.create_pat_token(
PatTokenCreateRequest {
all_orgs: false,
display_name: String::from("awesome-pat"),
scope: vec![Scope::Build],
valid_to: (Utc::now() + Duration::seconds(30)),
}
).await?;
source§impl PatTokenManager
impl PatTokenManager
sourcepub async fn delete_pat_token(
&self,
delete_request: PatTokenDeleteRequest
) -> Result<StatusCode, Box<dyn Error>>
pub async fn delete_pat_token( &self, delete_request: PatTokenDeleteRequest ) -> Result<StatusCode, Box<dyn Error>>
Delete a PAT token
Example
use pattrick::{PatTokenManager, PatTokenDeleteRequest};
use pattrick::azure::get_ad_token_for_devops;
let pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);
pat_manager.delete_pat_token(
PatTokenDeleteRequest {
authorization_id: String::from("12345678-1234-1234-1234-123456789012")
}
).await?;
source§impl PatTokenManager
impl PatTokenManager
sourcepub async fn get_pat_token(
&self,
get_request: PatTokenGetRequest
) -> Result<PatToken, Box<dyn Error>>
pub async fn get_pat_token( &self, get_request: PatTokenGetRequest ) -> Result<PatToken, Box<dyn Error>>
Get a PAT token
Example
use pattrick::{PatTokenManager, PatTokenGetRequest};
use pattrick::azure::get_ad_token_for_devops;
let pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);
let pat_token = pat_manager.get_pat_token(
PatTokenGetRequest {
authorization_id: String::from("12345678-1234-1234-1234-123456789012")
}
).await?;
sourcepub async fn get_pat_token_by_name(
&self,
name: &str
) -> Result<Option<PatToken>, Box<dyn Error>>
pub async fn get_pat_token_by_name( &self, name: &str ) -> Result<Option<PatToken>, Box<dyn Error>>
Get a PAT token by name
Example
use pattrick::PatTokenManager;
use pattrick::azure::get_ad_token_for_devops;
let pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);
let pat_token = pat_manager.get_pat_token_by_name("awesome-pat").await?;
source§impl PatTokenManager
impl PatTokenManager
sourcepub async fn list_pat_tokens(
&self,
list_request: PatTokenListRequest
) -> Result<Vec<PatToken>, Box<dyn Error>>
pub async fn list_pat_tokens( &self, list_request: PatTokenListRequest ) -> Result<Vec<PatToken>, Box<dyn Error>>
List PAT tokens
Example
use pattrick::{PatTokenManager, PatTokenListRequest, DisplayFilterOption};
use pattrick::azure::get_ad_token_for_devops;
let pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);
let pat_tokens = pat_manager.list_pat_tokens(
PatTokenListRequest {
display_filter_option: DisplayFilterOption::All
}
).await?;
source§impl PatTokenManager
impl PatTokenManager
sourcepub fn new(ad_token: AzureADToken) -> Self
pub fn new(ad_token: AzureADToken) -> Self
Create a new PatTokenManager
Example
use pattrick::PatTokenManager;
use pattrick::azure::get_ad_token_for_devops;
let pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);
sourcepub async fn get_latest_version(self) -> Result<String, Box<dyn Error>>
pub async fn get_latest_version(self) -> Result<String, Box<dyn Error>>
Get the lastest released version of the Pattrick CLI from GitHub
Example
use pattrick::PatTokenManager;
use pattrick::azure::get_ad_token_for_devops;
let pat_manager = PatTokenManager::new(get_ad_token_for_devops(1).await?);
let latest_version = pat_manager.get_latest_version().await?;
println!("Latest version: {}", latest_version);
Auto Trait Implementations§
impl !RefUnwindSafe for PatTokenManager
impl Send for PatTokenManager
impl Sync for PatTokenManager
impl Unpin for PatTokenManager
impl !UnwindSafe for PatTokenManager
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more