use crate::client::{Client, decode_response, handle_empty_response};
use crate::errors::Error;
use crate::types::*;
impl Client {
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
}
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
}
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
}
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
}
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
}
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
}
}