Skip to main content

gitverse_sdk/
packages.rs

1// Code generated by gitverse-codegen. DO NOT EDIT.
2
3use crate::client::{Client, decode_response, handle_empty_response};
4use crate::errors::Error;
5use crate::types::*;
6
7impl Client {
8    /// Delete package for organization
9    pub async fn delete_org_package(
10        &self,
11        org: &str,
12        package_type: &str,
13        package_name: &str,
14    ) -> Result<(), Error> {
15        let path = format!("/orgs/{}/packages/{}/{}", org, package_type, package_name);
16        let resp = self.send_delete(&path, Option::<&()>::None).await?;
17        handle_empty_response(resp).await
18    }
19
20    /// Get package versions for organization
21    pub async fn list_org_package_versions(
22        &self,
23        org: &str,
24        package_type: &str,
25        package_name: &str,
26        opts: Option<&QueryOptions>,
27    ) -> Result<Vec<PackageVersion>, Error> {
28        let path = format!(
29            "/orgs/{}/packages/{}/{}/versions",
30            org, package_type, package_name
31        );
32        let resp = self.send_get(&path, opts).await?;
33        decode_response(resp).await
34    }
35
36    /// Delete package version for organization
37    pub async fn delete_org_package_version(
38        &self,
39        org: &str,
40        package_type: &str,
41        package_name: &str,
42        package_version_id: &str,
43    ) -> Result<(), Error> {
44        let path = format!(
45            "/orgs/{}/packages/{}/{}/versions/{}",
46            org, package_type, package_name, package_version_id
47        );
48        let resp = self.send_delete(&path, Option::<&()>::None).await?;
49        handle_empty_response(resp).await
50    }
51
52    /// Delete package for user
53    pub async fn delete_user_package(
54        &self,
55        username: &str,
56        package_type: &str,
57        package_name: &str,
58    ) -> Result<(), Error> {
59        let path = format!(
60            "/users/{}/packages/{}/{}",
61            username, package_type, package_name
62        );
63        let resp = self.send_delete(&path, Option::<&()>::None).await?;
64        handle_empty_response(resp).await
65    }
66
67    /// Get package versions for user
68    pub async fn list_user_package_versions(
69        &self,
70        username: &str,
71        package_type: &str,
72        package_name: &str,
73        opts: Option<&QueryOptions>,
74    ) -> Result<Vec<PackageVersion>, Error> {
75        let path = format!(
76            "/users/{}/packages/{}/{}/versions",
77            username, package_type, package_name
78        );
79        let resp = self.send_get(&path, opts).await?;
80        decode_response(resp).await
81    }
82
83    /// Delete a package version for the authenticated user
84    pub async fn delete_user_package_version(
85        &self,
86        username: &str,
87        package_type: &str,
88        package_name: &str,
89        package_version_id: &str,
90    ) -> Result<(), Error> {
91        let path = format!(
92            "/users/{}/packages/{}/{}/versions/{}",
93            username, package_type, package_name, package_version_id
94        );
95        let resp = self.send_delete(&path, Option::<&()>::None).await?;
96        handle_empty_response(resp).await
97    }
98}