gitverse-sdk 1.2.0

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 {
    /// Delete package for organization
    pub async fn delete_org_package(
        &self,
        org: &str,
        package_type: &str,
        package_name: &str,
    ) -> Result<(), Error> {
        let path = format!("/orgs/{}/packages/{}/{}", org, package_type, package_name);
        let resp = self.send_delete(&path, Option::<&()>::None).await?;
        handle_empty_response(resp).await
    }

    /// Get package versions for organization
    pub async fn list_org_package_versions(
        &self,
        org: &str,
        package_type: &str,
        package_name: &str,
        opts: Option<&QueryOptions>,
    ) -> Result<Vec<PackageVersion>, Error> {
        let path = format!(
            "/orgs/{}/packages/{}/{}/versions",
            org, package_type, package_name
        );
        let resp = self.send_get(&path, opts).await?;
        decode_response(resp).await
    }

    /// Delete package version for organization
    pub async fn delete_org_package_version(
        &self,
        org: &str,
        package_type: &str,
        package_name: &str,
        package_version_id: &str,
    ) -> Result<(), Error> {
        let path = format!(
            "/orgs/{}/packages/{}/{}/versions/{}",
            org, package_type, package_name, package_version_id
        );
        let resp = self.send_delete(&path, Option::<&()>::None).await?;
        handle_empty_response(resp).await
    }

    /// Delete package for user
    pub async fn delete_user_package(
        &self,
        username: &str,
        package_type: &str,
        package_name: &str,
    ) -> Result<(), Error> {
        let path = format!(
            "/users/{}/packages/{}/{}",
            username, package_type, package_name
        );
        let resp = self.send_delete(&path, Option::<&()>::None).await?;
        handle_empty_response(resp).await
    }

    /// Get package versions for user
    pub async fn list_user_package_versions(
        &self,
        username: &str,
        package_type: &str,
        package_name: &str,
        opts: Option<&QueryOptions>,
    ) -> Result<Vec<PackageVersion>, Error> {
        let path = format!(
            "/users/{}/packages/{}/{}/versions",
            username, package_type, package_name
        );
        let resp = self.send_get(&path, opts).await?;
        decode_response(resp).await
    }

    /// Delete a package version for the authenticated user
    pub async fn delete_user_package_version(
        &self,
        username: &str,
        package_type: &str,
        package_name: &str,
        package_version_id: &str,
    ) -> Result<(), Error> {
        let path = format!(
            "/users/{}/packages/{}/{}/versions/{}",
            username, package_type, package_name, package_version_id
        );
        let resp = self.send_delete(&path, Option::<&()>::None).await?;
        handle_empty_response(resp).await
    }
}