use crate::client::{Client, decode_response, handle_empty_response};
use crate::errors::Error;
use crate::types::*;
impl Client {
pub async fn list_org_secrets(
&self,
org: &str,
opts: Option<&QueryOptions>,
) -> Result<SecretList, Error> {
let path = format!("/orgs/{}/actions/secrets", org);
let resp = self.send_get(&path, opts).await?;
decode_response(resp).await
}
pub async fn get_org_secret(&self, org: &str, secretname: &str) -> Result<Secret, Error> {
let path = format!("/orgs/{}/actions/secrets/{}", org, secretname);
let resp = self.send_get(&path, None).await?;
decode_response(resp).await
}
pub async fn create_or_update_org_secret(
&self,
org: &str,
secretname: &str,
_opts: Option<&QueryOptions>,
) -> Result<Secret, Error> {
let path = format!("/orgs/{}/actions/secrets/{}", org, secretname);
let resp = self.send_put(&path, Option::<&()>::None).await?;
decode_response(resp).await
}
pub async fn delete_org_secret(&self, org: &str, secretname: &str) -> Result<(), Error> {
let path = format!("/orgs/{}/actions/secrets/{}", org, secretname);
let resp = self.send_delete(&path, Option::<&()>::None).await?;
handle_empty_response(resp).await
}
pub async fn is_member(&self, org: &str, username: &str) -> Result<(), Error> {
let path = format!("/orgs/{}/members/{}", org, username);
let resp = self.send_get(&path, None).await?;
handle_empty_response(resp).await
}
pub async fn list_org_repositories(
&self,
org: &str,
opts: Option<&QueryOptions>,
) -> Result<Vec<Repository>, Error> {
let path = format!("/orgs/{}/repos", org);
let resp = self.send_get(&path, opts).await?;
decode_response(resp).await
}
pub async fn create_repository(
&self,
org: &str,
params: &CreateOrgRepositoryParams,
) -> Result<Repository, Error> {
let path = format!("/orgs/{}/repos", org);
let resp = self.send_post(&path, Some(params)).await?;
decode_response(resp).await
}
}