Skip to main content

args_api/endpoint/user/
list_user_repositories_contributed.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4use crate::{
5    endpoint::Endpoint,
6    resource::{common::Page, user::UserRepositoryResource},
7};
8
9pub struct ListUserContributedRepositories;
10
11impl Endpoint for ListUserContributedRepositories {
12    const PATH: &'static str = "/user/{user_name}/repositories-contributed";
13    const METHOD: http::Method = http::Method::GET;
14
15    type Request = ListUserContributedRepositoriesRequest;
16    type Response = ListUserContributedRepositoriesResponse;
17}
18
19#[derive(ApiRequest, Debug, Default, Serialize, Deserialize)]
20pub struct ListUserContributedRepositoriesRequest {
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 cursor: Option<String>,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub limit: Option<u32>,
27}
28
29pub type ListUserContributedRepositoriesResponse = Page<UserRepositoryResource>;