Skip to main content

args_api/endpoint/user/
list_user_reviews.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{
4    endpoint::Endpoint,
5    resource::{common::Page, review::ReviewResource},
6};
7
8pub struct ListUserReviews;
9
10impl Endpoint for ListUserReviews {
11    const PATH: &'static str = "/user/{user_name}/reviews";
12    const METHOD: http::Method = http::Method::GET;
13
14    type Request = ListUserReviewsRequest;
15    type Response = ListUserReviewsResponse;
16}
17
18#[derive(ApiRequest, Debug, Default, Serialize, Deserialize)]
19pub struct ListUserReviewsRequest {
20    pub status: Option<String>,
21    pub owner: Option<String>,
22    pub repo: Option<String>,
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub cursor: Option<String>,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub limit: Option<u32>,
27}
28
29pub type ListUserReviewsResponse = Page<ReviewResource>;