gitea_sdk/api/pulls/reviews/
get.rs1use build_it::Builder;
2use serde::Serialize;
3
4use crate::{
5 error::Result,
6 model::{
7 reviews::PullReview,
8 },
9 Client,
10};
11
12#[derive(Debug, Clone, Serialize, Builder)]
13#[build_it(into)]
14pub struct GetReviewsBuilder {
15 #[serde(skip)]
16 #[skip]
17 owner: String,
18 #[serde(skip)]
19 #[skip]
20 repo: String,
21 #[serde(skip)]
23 #[skip]
24 index: i64,
25
26 page: Option<i64>,
28 limit: Option<i64>,
30}
31
32impl GetReviewsBuilder {
33 pub fn new(owner: impl ToString, repo: impl ToString, index: i64) -> Self {
34 Self {
35 owner: owner.to_string(),
36 repo: repo.to_string(),
37 index,
38 page: None,
39 limit: None,
40 }
41 }
42 pub async fn send(&self, client: &Client) -> Result<Vec<PullReview>> {
44 let owner = &self.owner;
45 let repo = &self.repo;
46 let index = &self.index;
47 let req = client
48 .get(format!("repos/{owner}/{repo}/pulls/{index}/reviews"))
49 .query(self)
50 .build()?;
51 let res = client.make_request(req).await?;
52 client.parse_response(res).await
53 }
54}