Skip to main content

gitverse_sdk/
teams.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    /// Lists teams
9    pub async fn list(&self, org: &str, opts: Option<&QueryOptions>) -> Result<Vec<Team>, Error> {
10        let path = format!("/orgs/{}/teams", org);
11        let resp = self.send_get(&path, opts).await?;
12        decode_response(resp).await
13    }
14
15    /// Lists team members
16    pub async fn list_members(
17        &self,
18        org: &str,
19        team: &str,
20        opts: Option<&QueryOptions>,
21    ) -> Result<Vec<User>, Error> {
22        let path = format!("/orgs/{}/teams/{}/members", org, team);
23        let resp = self.send_get(&path, opts).await?;
24        decode_response(resp).await
25    }
26
27    /// Add or update team repository permissions
28    pub async fn update_repos(
29        &self,
30        org: &str,
31        team: &str,
32        owner: &str,
33        repo: &str,
34        params: &TeamRepoPermissions,
35    ) -> Result<(), Error> {
36        let path = format!("/orgs/{}/teams/{}/repos/{}/{}", org, team, owner, repo);
37        let resp = self.send_put(&path, Some(params)).await?;
38        handle_empty_response(resp).await
39    }
40}