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