gitea_sdk/api/users/
stars.rs1use build_it::Builder;
2use serde::Serialize;
3
4use crate::{error::Result, model::repos::Repository, Client};
5
6#[derive(Default, Debug, Serialize, Builder)]
7#[build_it(into)]
8pub struct ListStarredBuilder {
9 #[build_it(skip)]
10 #[serde(skip)]
11 username: String,
12
13 #[serde(skip_serializing_if = "Option::is_none")]
15 page: Option<u64>,
16
17 #[serde(skip_serializing_if = "Option::is_none")]
19 limit: Option<u64>,
20}
21
22impl ListStarredBuilder {
23 pub fn new(username: impl ToString) -> Self {
24 Self {
25 username: username.to_string(),
26 ..Default::default()
27 }
28 }
29
30 pub async fn send(&self, client: &Client) -> Result<Vec<Repository>> {
32 let req = client
33 .get(format!("/users/{}/starred", self.username))
34 .query(self)
35 .build()?;
36 let res = client.make_request(req).await?;
37 client.parse_response(res).await
38 }
39}