Skip to main content

gitverse_sdk/
organizations.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    /// Gets a list of organization secrets
9    pub async fn list_org_secrets(
10        &self,
11        org: &str,
12        opts: Option<&QueryOptions>,
13    ) -> Result<SecretList, Error> {
14        let path = format!("/orgs/{}/actions/secrets", org);
15        let resp = self.send_get(&path, opts).await?;
16        decode_response(resp).await
17    }
18
19    /// Gets the metadata of a secret (without value) in an organization
20    pub async fn get_org_secret(&self, org: &str, secretname: &str) -> Result<Secret, Error> {
21        let path = format!("/orgs/{}/actions/secrets/{}", org, secretname);
22        let resp = self.send_get(&path, None).await?;
23        decode_response(resp).await
24    }
25
26    /// Creates or updates a secret in the organization
27    pub async fn create_or_update_org_secret(
28        &self,
29        org: &str,
30        secretname: &str,
31        _opts: Option<&QueryOptions>,
32    ) -> Result<Secret, Error> {
33        let path = format!("/orgs/{}/actions/secrets/{}", org, secretname);
34        let resp = self.send_put(&path, Option::<&()>::None).await?;
35        decode_response(resp).await
36    }
37
38    /// Removes a secret from an organization
39    pub async fn delete_org_secret(&self, org: &str, secretname: &str) -> Result<(), Error> {
40        let path = format!("/orgs/{}/actions/secrets/{}", org, secretname);
41        let resp = self.send_delete(&path, Option::<&()>::None).await?;
42        handle_empty_response(resp).await
43    }
44
45    /// Check organization membership for a user
46    pub async fn is_member(&self, org: &str, username: &str) -> Result<(), Error> {
47        let path = format!("/orgs/{}/members/{}", org, username);
48        let resp = self.send_get(&path, None).await?;
49        handle_empty_response(resp).await
50    }
51
52    /// List organization repositories
53    pub async fn list_org_repositories(
54        &self,
55        org: &str,
56        opts: Option<&QueryOptions>,
57    ) -> Result<Vec<Repository>, Error> {
58        let path = format!("/orgs/{}/repos", org);
59        let resp = self.send_get(&path, opts).await?;
60        decode_response(resp).await
61    }
62
63    /// Create organization repository
64    pub async fn create_repository(
65        &self,
66        org: &str,
67        params: &CreateOrgRepositoryParams,
68    ) -> Result<Repository, Error> {
69        let path = format!("/orgs/{}/repos", org);
70        let resp = self.send_post(&path, Some(params)).await?;
71        decode_response(resp).await
72    }
73}