Skip to main content

gitverse_sdk/
stars.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    /// Get list of favorites repositories of authenticated user
9    pub async fn list_favorites(
10        &self,
11        opts: Option<&QueryOptions>,
12    ) -> Result<Vec<Repository>, Error> {
13        let path = "/user/starred";
14        let resp = self.send_get(&path, opts).await?;
15        decode_response(resp).await
16    }
17
18    /// Check if repository is in favorites
19    pub async fn is_starred(&self, owner: &str, repo: &str) -> Result<(), Error> {
20        let path = format!("/user/starred/{}/{}", owner, repo);
21        let resp = self.send_get(&path, None).await?;
22        handle_empty_response(resp).await
23    }
24
25    /// Add repository to favorites
26    pub async fn star(&self, owner: &str, repo: &str) -> Result<(), Error> {
27        let path = format!("/user/starred/{}/{}", owner, repo);
28        let resp = self.send_put(&path, Option::<&()>::None).await?;
29        handle_empty_response(resp).await
30    }
31
32    /// Remove repository from favorites
33    pub async fn unstar(&self, owner: &str, repo: &str) -> Result<(), Error> {
34        let path = format!("/user/starred/{}/{}", owner, repo);
35        let resp = self.send_delete(&path, Option::<&()>::None).await?;
36        handle_empty_response(resp).await
37    }
38}