Skip to main content

burn_central_client/artifact/
response.rs

1use serde::Deserialize;
2
3#[derive(Deserialize, Clone, Debug)]
4pub struct MultipartUploadResponse {
5    pub id: String,
6    pub parts: Vec<PresignedUploadUrlResponse>,
7}
8
9#[derive(Deserialize, Clone, Debug)]
10pub struct PresignedUploadUrlResponse {
11    pub part: u32,
12    pub url: String,
13    pub size_bytes: u64,
14}
15
16#[derive(Deserialize, Clone, Debug)]
17pub struct PresignedArtifactFileUploadUrlsResponse {
18    pub rel_path: String,
19    pub urls: MultipartUploadResponse,
20}
21
22#[derive(Deserialize, Clone, Debug)]
23pub struct ArtifactCreationResponse {
24    pub id: String,
25    pub files: Vec<PresignedArtifactFileUploadUrlsResponse>,
26}
27
28#[derive(Deserialize, Clone, Debug)]
29pub struct ArtifactAddFileResponse {
30    pub files: Vec<PresignedArtifactFileUploadUrlsResponse>,
31}
32
33#[derive(Deserialize, Clone, Debug)]
34pub struct PresignedArtifactFileUrlResponse {
35    pub rel_path: String,
36    pub url: String,
37}
38
39#[derive(Deserialize, Clone, Debug)]
40pub struct ArtifactDownloadResponse {
41    pub files: Vec<PresignedArtifactFileUrlResponse>,
42}
43
44#[derive(Deserialize, Clone, Debug)]
45pub struct ArtifactResponse {
46    pub id: String,
47    pub created_at: String,
48    pub name: String,
49    pub kind: String,
50    pub bucket_id: String,
51    pub experiment: ArtifactSourceResponse,
52    pub manifest: serde_json::Value,
53}
54
55#[derive(Deserialize, Clone, Debug)]
56pub struct ArtifactListResponse {
57    pub items: Vec<ArtifactResponse>,
58    pub total: usize,
59}
60
61#[derive(Deserialize, Clone, Debug)]
62pub struct ArtifactSourceResponse {
63    pub id: i32,
64    pub experiment_num: i32,
65}