gitverse-sdk 1.2.0

Rust SDK for GitVerse API
Documentation
// Code generated by gitverse-codegen. DO NOT EDIT.

use crate::client::{Client, decode_response, handle_empty_response};
use crate::errors::Error;
use crate::types::*;

impl Client {
    /// Lists teams
    pub async fn list(&self, org: &str, opts: Option<&QueryOptions>) -> Result<Vec<Team>, Error> {
        let path = format!("/orgs/{}/teams", org);
        let resp = self.send_get(&path, opts).await?;
        decode_response(resp).await
    }

    /// Lists team members
    pub async fn list_members(
        &self,
        org: &str,
        team: &str,
        opts: Option<&QueryOptions>,
    ) -> Result<Vec<User>, Error> {
        let path = format!("/orgs/{}/teams/{}/members", org, team);
        let resp = self.send_get(&path, opts).await?;
        decode_response(resp).await
    }

    /// Add or update team repository permissions
    pub async fn update_repos(
        &self,
        org: &str,
        team: &str,
        owner: &str,
        repo: &str,
        params: &TeamRepoPermissions,
    ) -> Result<(), Error> {
        let path = format!("/orgs/{}/teams/{}/repos/{}/{}", org, team, owner, repo);
        let resp = self.send_put(&path, Some(params)).await?;
        handle_empty_response(resp).await
    }
}