Skip to main content

args_api/endpoint/repository/
update_repository.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{endpoint::Endpoint, resource::RepositoryResource};
4
5pub struct UpdateRepository;
6
7impl Endpoint for UpdateRepository {
8    const PATH: &'static str = "/repository/{owner}/{repo}";
9    const METHOD: http::Method = http::Method::PATCH;
10
11    type Request = UpdateRepositoryRequest;
12    type Response = UpdateRepositoryResponse;
13}
14
15#[derive(ApiRequest, Debug, Serialize, Deserialize)]
16pub struct UpdateRepositoryRequest {
17    #[serde(default, skip_serializing_if = "Option::is_none")]
18    pub name: Option<String>,
19    #[serde(default, skip_serializing_if = "Option::is_none")]
20    pub description: Option<String>,
21    #[serde(default, skip_serializing_if = "Option::is_none")]
22    pub readonly: Option<bool>,
23}
24
25pub type UpdateRepositoryResponse = RepositoryResource;