cloudreve_api/api/v4/models/
request.rs1use serde::Serialize;
4
5#[derive(Debug, Serialize)]
7pub struct UploadRequest<'a> {
8 pub path: &'a str,
9 pub name: Option<&'a str>,
10 pub overwrite: Option<bool>,
11}
12
13#[derive(Debug, Serialize, Default)]
15pub struct ListFilesRequest<'a> {
16 pub path: &'a str,
17 pub page: Option<u32>,
18 pub page_size: Option<u32>,
19 pub order_by: Option<&'a str>,
20 pub order_direction: Option<&'a str>,
21 pub next_page_token: Option<&'a str>,
22}
23
24#[derive(Debug, Serialize)]
26pub struct MoveFileRequest<'a> {
27 pub from: &'a str,
28 pub to: &'a str,
29}
30
31#[derive(Debug, Serialize)]
33pub struct CopyFileRequest<'a> {
34 pub from: &'a str,
35 pub to: &'a str,
36}
37
38#[derive(Debug, Serialize)]
40pub struct RenameFileRequest<'a> {
41 pub name: &'a str,
42}
43
44#[derive(Debug, Serialize)]
46pub struct SetFilePermissionRequest<'a> {
47 pub uri: &'a str,
54 #[serde(skip_serializing_if = "Option::is_none")]
55 pub user_explicit: Option<serde_json::Value>,
56 #[serde(skip_serializing_if = "Option::is_none")]
57 pub group_explicit: Option<serde_json::Value>,
58 #[serde(skip_serializing_if = "Option::is_none")]
59 pub same_group: Option<&'a str>,
60 #[serde(skip_serializing_if = "Option::is_none")]
61 pub other: Option<&'a str>,
62 #[serde(skip_serializing_if = "Option::is_none")]
63 pub anonymous: Option<&'a str>,
64 #[serde(skip_serializing_if = "Option::is_none")]
65 pub everyone: Option<&'a str>,
66}
67
68#[derive(Debug, Serialize)]
70pub struct CreateUploadSessionRequest<'a> {
71 pub uri: &'a str,
78 pub size: u64,
80 pub policy_id: &'a str,
82 #[serde(skip_serializing_if = "Option::is_none")]
84 pub last_modified: Option<u64>,
85 #[serde(skip_serializing_if = "Option::is_none")]
87 pub mime_type: Option<&'a str>,
88 #[serde(skip_serializing_if = "Option::is_none")]
90 pub metadata: Option<std::collections::HashMap<String, String>>,
91 #[serde(skip_serializing_if = "Option::is_none")]
93 pub entity_type: Option<&'a str>,
94}
95
96#[derive(Debug, Serialize)]
98pub struct DeleteUploadSessionRequest<'a> {
99 pub id: &'a str,
101 pub uri: &'a str,
108}
109
110#[derive(Debug, Serialize)]
112pub struct MoveCopyFileRequest<'a> {
113 pub from: Vec<&'a str>,
114 pub to: &'a str,
115 #[serde(skip_serializing_if = "Option::is_none")]
116 pub copy: Option<bool>,
117}
118
119#[derive(Debug, Serialize)]
121pub struct UpdateFileContentRequest<'a> {
122 pub uri: &'a str,
129 pub content: &'a str,
130}
131
132#[derive(Debug, Serialize)]
134pub struct CreateViewerSessionRequest<'a> {
135 pub uri: &'a str,
142}
143
144#[derive(Debug, Serialize)]
146pub struct CreateFileRequest<'a> {
147 pub path: &'a str,
148 pub name: &'a str,
149 #[serde(skip_serializing_if = "Option::is_none")]
150 pub content: Option<&'a str>,
151 #[serde(skip_serializing_if = "Option::is_none")]
152 pub overwrite: Option<bool>,
153}
154
155#[derive(Debug, Serialize)]
157pub struct RenameMultipleRequest<'a> {
158 pub uris: Vec<&'a str>,
159 pub names: Vec<&'a str>,
160}
161
162#[derive(Debug, Serialize)]
164pub struct CreateDownloadUrlRequest<'a> {
165 pub uris: Vec<&'a str>,
172 #[serde(skip_serializing_if = "Option::is_none")]
173 pub download: Option<bool>,
174 #[serde(skip_serializing_if = "Option::is_none")]
175 pub redirect: Option<bool>,
176 #[serde(skip_serializing_if = "Option::is_none")]
177 pub entity: Option<&'a str>,
178 #[serde(skip_serializing_if = "Option::is_none")]
179 pub use_primary_site_url: Option<bool>,
180 #[serde(skip_serializing_if = "Option::is_none")]
181 pub skip_error: Option<bool>,
182 #[serde(skip_serializing_if = "Option::is_none")]
183 pub archive: Option<bool>,
184 #[serde(skip_serializing_if = "Option::is_none")]
185 pub no_cache: Option<bool>,
186}
187
188#[derive(Debug, Serialize)]
190pub struct RestoreFileRequest<'a> {
191 pub uris: Vec<&'a str>,
198}
199
200#[derive(Debug, Serialize)]
202pub struct UpdateMetadataRequest {
203 #[serde(skip_serializing_if = "Option::is_none")]
204 pub metadata: Option<serde_json::Value>,
205 #[serde(skip_serializing_if = "Option::is_none")]
206 pub clear_metadata: Option<bool>,
207}
208
209#[derive(Debug, Serialize)]
211pub struct MountStoragePolicyRequest {
212 pub policy_id: u64,
213 #[serde(skip_serializing_if = "Option::is_none")]
214 pub inherit_to_children: Option<bool>,
215}
216
217#[derive(Debug, Serialize)]
219pub struct UpdateViewRequest {
220 #[serde(skip_serializing_if = "Option::is_none")]
221 pub page_size: Option<i32>,
222 #[serde(skip_serializing_if = "Option::is_none")]
223 pub order: Option<String>,
224 #[serde(skip_serializing_if = "Option::is_none")]
225 pub order_direction: Option<String>,
226 #[serde(skip_serializing_if = "Option::is_none")]
227 pub view: Option<String>,
228 #[serde(skip_serializing_if = "Option::is_none")]
229 pub thumbnail: Option<bool>,
230 #[serde(skip_serializing_if = "Option::is_none")]
231 pub gallery_width: Option<i32>,
232}
233
234#[derive(Debug, Serialize)]
236pub struct GetFileInfoRequest<'a> {
237 pub uri: &'a str,
244 #[serde(skip_serializing_if = "Option::is_none")]
245 pub include_extended_info: Option<bool>,
246}
247
248#[derive(Debug, Serialize)]
250pub struct GetArchiveListRequest<'a> {
251 pub uri: &'a str,
258}
259
260#[derive(Debug, Serialize)]
262pub struct CreateRemoteDownloadRequest<'a> {
263 pub url: &'a str,
264 pub path: Option<&'a str>,
265 pub node_id: Option<u64>,
266}
267
268#[derive(Debug, Serialize)]
270pub struct RelocateRequest<'a> {
271 pub files: Vec<&'a str>,
272 pub target_policy_id: &'a str,
273 pub path: Option<&'a str>,
274}
275
276#[derive(Debug, Serialize)]
278pub struct ImportRequest<'a> {
279 pub source_url: &'a str,
280 pub target_path: &'a str,
281 pub node_id: Option<u64>,
282}
283
284#[derive(Debug, Serialize)]
286pub struct SelectDownloadFilesRequest<'a> {
287 pub selected_files: Vec<&'a str>,
288}
289
290#[derive(Debug, Serialize)]
292pub struct CreateDownloadRequest<'a> {
293 pub url: &'a str,
294 pub path: Option<&'a str>,
295 pub node_id: Option<u64>,
296}