gitea_sdk/api/users/
repos.rs1use build_it::Builder;
2use serde::Serialize;
3
4use crate::{error::Result, model::repos::Repository, Client};
5
6#[derive(Debug, Clone, Serialize, Builder)]
7pub struct ListReposBuilder {
8 #[build_it(skip)]
9 #[serde(skip)]
10 username: String,
11
12 page: Option<i64>,
14 limit: Option<i64>,
16}
17
18impl ListReposBuilder {
19 pub fn new(username: &str) -> Self {
20 Self {
21 username: username.to_string(),
22 page: None,
23 limit: None,
24 }
25 }
26
27 pub async fn send(&self, client: &Client) -> Result<Vec<Repository>> {
29 let req = client
30 .get(format!("users/{}/repos", self.username))
31 .query(self)
32 .build()?;
33 let res = client.make_request(req).await?;
34 client.parse_response(res).await
35 }
36}