Skip to main content

args_api/endpoint/repository/
get_repository_blobs.rs

1use serde::{Deserialize, Serialize};
2
3use super::default_ref;
4use crate::{endpoint::Endpoint, resource::repository::RepositoryBlobsResource};
5
6fn default_refs() -> Vec<String> {
7    vec![default_ref()]
8}
9
10pub struct GetRepositoryBlobs;
11
12impl Endpoint for GetRepositoryBlobs {
13    const PATH: &'static str = "/repository/{owner}/{repo}/blobs";
14    const METHOD: http::Method = http::Method::POST;
15
16    type Request = GetRepositoryBlobsRequest;
17    type Response = GetRepositoryBlobsResponse;
18}
19
20#[derive(ApiRequest, Debug, Serialize, Deserialize)]
21pub struct GetRepositoryBlobsRequest {
22    #[serde(default = "default_refs")]
23    pub refs: Vec<String>,
24    pub paths: Vec<String>,
25}
26
27pub type GetRepositoryBlobsResponse = RepositoryBlobsResource;