box_open_sdk/models/schemas/
trashed_folders.rs1use crate::serde_helpers::double_option;
4
5use super::*;
6
7#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
8pub struct TrashFolder {
9 pub id: String,
10 #[serde(
11 default,
12 skip_serializing_if = "Option::is_none",
13 deserialize_with = "double_option"
14 )]
15 pub etag: Option<Option<String>>,
16 pub r#type: FolderType,
17 #[serde(default, skip_serializing_if = "Option::is_none")]
18 pub sequence_id: Option<String>,
19 pub name: String,
20 #[serde(
21 default,
22 skip_serializing_if = "Option::is_none",
23 deserialize_with = "double_option"
24 )]
25 pub created_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
26 #[serde(
27 default,
28 skip_serializing_if = "Option::is_none",
29 deserialize_with = "double_option"
30 )]
31 pub modified_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
32 pub description: String,
33 pub size: i64,
34 pub path_collection: TrashFilePathCollection,
35 pub created_by: UserMini,
36 pub modified_by: UserMini,
37 #[serde(
38 default,
39 skip_serializing_if = "Option::is_none",
40 deserialize_with = "double_option"
41 )]
42 pub trashed_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
43 #[serde(
44 default,
45 skip_serializing_if = "Option::is_none",
46 deserialize_with = "double_option"
47 )]
48 pub purged_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
49 #[serde(
50 default,
51 skip_serializing_if = "Option::is_none",
52 deserialize_with = "double_option"
53 )]
54 pub content_created_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
55 #[serde(
56 default,
57 skip_serializing_if = "Option::is_none",
58 deserialize_with = "double_option"
59 )]
60 pub content_modified_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
61 pub owned_by: UserMini,
62 #[serde(
63 default,
64 skip_serializing_if = "Option::is_none",
65 deserialize_with = "double_option"
66 )]
67 pub shared_link: Option<Option<String>>,
68 #[serde(
69 default,
70 skip_serializing_if = "Option::is_none",
71 deserialize_with = "double_option"
72 )]
73 pub folder_upload_email: Option<Option<String>>,
74 #[serde(
75 default,
76 skip_serializing_if = "Option::is_none",
77 deserialize_with = "double_option"
78 )]
79 pub parent: Option<Option<FolderMini>>,
80 pub item_status: FileItemStatus,
81}
82
83#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
84pub struct TrashFolderRestored {
85 #[serde(default, skip_serializing_if = "Option::is_none")]
86 pub id: Option<String>,
87 #[serde(
88 default,
89 skip_serializing_if = "Option::is_none",
90 deserialize_with = "double_option"
91 )]
92 pub etag: Option<Option<String>>,
93 #[serde(default, skip_serializing_if = "Option::is_none")]
94 pub r#type: Option<FolderType>,
95 #[serde(default, skip_serializing_if = "Option::is_none")]
96 pub sequence_id: Option<String>,
97 #[serde(default, skip_serializing_if = "Option::is_none")]
98 pub name: Option<String>,
99 #[serde(
100 default,
101 skip_serializing_if = "Option::is_none",
102 deserialize_with = "double_option"
103 )]
104 pub created_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
105 #[serde(
106 default,
107 skip_serializing_if = "Option::is_none",
108 deserialize_with = "double_option"
109 )]
110 pub modified_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
111 #[serde(default, skip_serializing_if = "Option::is_none")]
112 pub description: Option<String>,
113 #[serde(default, skip_serializing_if = "Option::is_none")]
114 pub size: Option<i64>,
115 #[serde(default, skip_serializing_if = "Option::is_none")]
116 pub path_collection: Option<FilePathCollection>,
117 #[serde(default, skip_serializing_if = "Option::is_none")]
118 pub created_by: Option<UserMini>,
119 #[serde(default, skip_serializing_if = "Option::is_none")]
120 pub modified_by: Option<UserMini>,
121 #[serde(
122 default,
123 skip_serializing_if = "Option::is_none",
124 deserialize_with = "double_option"
125 )]
126 pub trashed_at: Option<Option<String>>,
127 #[serde(
128 default,
129 skip_serializing_if = "Option::is_none",
130 deserialize_with = "double_option"
131 )]
132 pub purged_at: Option<Option<String>>,
133 #[serde(
134 default,
135 skip_serializing_if = "Option::is_none",
136 deserialize_with = "double_option"
137 )]
138 pub content_created_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
139 #[serde(
140 default,
141 skip_serializing_if = "Option::is_none",
142 deserialize_with = "double_option"
143 )]
144 pub content_modified_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
145 #[serde(default, skip_serializing_if = "Option::is_none")]
146 pub owned_by: Option<UserMini>,
147 #[serde(
148 default,
149 skip_serializing_if = "Option::is_none",
150 deserialize_with = "double_option"
151 )]
152 pub shared_link: Option<Option<String>>,
153 #[serde(
154 default,
155 skip_serializing_if = "Option::is_none",
156 deserialize_with = "double_option"
157 )]
158 pub folder_upload_email: Option<Option<String>>,
159 #[serde(
160 default,
161 skip_serializing_if = "Option::is_none",
162 deserialize_with = "double_option"
163 )]
164 pub parent: Option<Option<FolderMini>>,
165 #[serde(default, skip_serializing_if = "Option::is_none")]
166 pub item_status: Option<FileItemStatus>,
167}