box_open_sdk/models/schemas/
zip_downloads.rs1use super::*;
4
5#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
6pub struct ZipDownload {
7 #[serde(default, skip_serializing_if = "Option::is_none")]
8 pub download_url: Option<String>,
9 #[serde(default, skip_serializing_if = "Option::is_none")]
10 pub status_url: Option<String>,
11 #[serde(default, skip_serializing_if = "Option::is_none")]
12 pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
13 #[serde(default, skip_serializing_if = "Option::is_none")]
14 pub name_conflicts: Option<Vec<Vec<ZipDownloadNameConflicts>>>,
15}
16
17#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
18pub struct ZipDownloadRequest {
19 pub items: Vec<ZipDownloadRequestItems>,
20 #[serde(default, skip_serializing_if = "Option::is_none")]
21 pub download_file_name: Option<String>,
22}
23
24#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
25pub struct ZipDownloadStatus {
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub total_file_count: Option<i64>,
28 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub downloaded_file_count: Option<i64>,
30 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub skipped_file_count: Option<i64>,
32 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub skipped_folder_count: Option<i64>,
34 #[serde(default, skip_serializing_if = "Option::is_none")]
35 pub state: Option<ZipDownloadStatusState>,
36}
37
38#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
39pub struct ZipDownloadNameConflicts {
40 #[serde(default, skip_serializing_if = "Option::is_none")]
41 pub id: Option<String>,
42 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub r#type: Option<EventSourceItemType>,
44 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub original_name: Option<String>,
46 #[serde(default, skip_serializing_if = "Option::is_none")]
47 pub download_name: Option<String>,
48}
49
50#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
51pub struct ZipDownloadRequestItems {
52 pub r#type: EventSourceItemType,
53 pub id: String,
54}
55
56#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
57#[serde(transparent)]
58pub struct ZipDownloadStatusState(pub String);
59
60impl ZipDownloadStatusState {
61 pub const IN_PROGRESS: &'static str = "in_progress";
62 pub const FAILED: &'static str = "failed";
63 pub const SUCCEEDED: &'static str = "succeeded";
64}