gitverse-sdk 1.2.1

Rust SDK for GitVerse API
Documentation
// Code generated by gitverse-codegen. DO NOT EDIT.

use crate::client::{Client, decode_response, handle_empty_response};
use crate::errors::Error;
use crate::types::*;

impl Client {
    /// Gets a list of organization secrets
    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
    }

    /// Gets the metadata of a secret (without value) in an organization
    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
    }

    /// Creates or updates a secret in the organization
    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
    }

    /// Removes a secret from an organization
    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
    }

    /// Check organization membership for a user
    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
    }

    /// List organization repositories
    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
    }

    /// Create organization repository
    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
    }
}