args_api/endpoint/user/
list_user_commits.rs1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4use crate::{
5 endpoint::Endpoint,
6 resource::{common::Page, user::UserCommitResource},
7};
8
9pub struct ListUserCommits;
10
11impl Endpoint for ListUserCommits {
12 const PATH: &'static str = "/user/{user_name}/commits";
13 const METHOD: http::Method = http::Method::GET;
14
15 type Request = ListUserCommitsRequest;
16 type Response = ListUserCommitsResponse;
17}
18
19#[derive(ApiRequest, Debug, Default, Serialize, Deserialize)]
20pub struct ListUserCommitsRequest {
21 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub from: Option<DateTime<Utc>>,
23 #[serde(default, skip_serializing_if = "Option::is_none")]
24 pub to: Option<DateTime<Utc>>,
25 #[serde(default, skip_serializing_if = "Option::is_none")]
26 pub cursor: Option<String>,
27 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub limit: Option<u32>,
29}
30
31pub type ListUserCommitsResponse = Page<UserCommitResource>;