1use conjure_http::endpoint;
2#[conjure_http::conjure_endpoints(
4 name = "UploadService",
5 use_legacy_error_serialization
6)]
7pub trait UploadService<#[request_body] I> {
8 #[endpoint(
11 method = POST,
12 path = "/upload/v1/multipart-upload",
13 name = "initiateMultipartUpload",
14 produces = conjure_http::server::StdResponseSerializer
15 )]
16 fn initiate_multipart_upload(
17 &self,
18 #[auth]
19 auth_: conjure_object::BearerToken,
20 #[body(
21 deserializer = conjure_http::server::StdRequestDeserializer,
22 log_as = "uploadRequest"
23 )]
24 upload_request: super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
25 ) -> Result<
26 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
27 conjure_http::private::Error,
28 >;
29 #[endpoint(
31 method = GET,
32 path = "/upload/v1/multipart-upload/{uploadId}",
33 name = "listParts",
34 produces = conjure_http::server::conjure::CollectionResponseSerializer
35 )]
36 fn list_parts(
37 &self,
38 #[auth]
39 auth_: conjure_object::BearerToken,
40 #[path(
41 name = "uploadId",
42 decoder = conjure_http::server::conjure::FromPlainDecoder,
43 log_as = "uploadId"
44 )]
45 upload_id: String,
46 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
47 key: String,
48 ) -> Result<
49 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
50 conjure_http::private::Error,
51 >;
52 #[endpoint(
55 method = POST,
56 path = "/upload/v1/multipart-upload/{uploadId}",
57 name = "signPart",
58 produces = conjure_http::server::StdResponseSerializer
59 )]
60 fn sign_part(
61 &self,
62 #[auth]
63 auth_: conjure_object::BearerToken,
64 #[path(
65 name = "uploadId",
66 decoder = conjure_http::server::conjure::FromPlainDecoder,
67 log_as = "uploadId"
68 )]
69 upload_id: String,
70 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
71 key: String,
72 #[query(
73 name = "partNumber",
74 decoder = conjure_http::server::conjure::FromPlainDecoder,
75 log_as = "partNumber"
76 )]
77 part_number: i32,
78 ) -> Result<
79 super::super::super::super::objects::ingest::api::SignPartResponse,
80 conjure_http::private::Error,
81 >;
82 #[endpoint(
86 method = POST,
87 path = "/upload/v1/multipart-upload/{uploadId}/complete",
88 name = "completeMultipartUpload",
89 produces = conjure_http::server::StdResponseSerializer
90 )]
91 fn complete_multipart_upload(
92 &self,
93 #[auth]
94 auth_: conjure_object::BearerToken,
95 #[path(
96 name = "uploadId",
97 decoder = conjure_http::server::conjure::FromPlainDecoder,
98 log_as = "uploadId"
99 )]
100 upload_id: String,
101 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
102 key: String,
103 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
104 parts: Vec<super::super::super::super::objects::ingest::api::Part>,
105 ) -> Result<
106 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
107 conjure_http::private::Error,
108 >;
109 #[endpoint(
112 method = POST,
113 path = "/upload/v1/multipart-upload/{uploadId}/abort",
114 name = "abortMultipartUpload"
115 )]
116 fn abort_multipart_upload(
117 &self,
118 #[auth]
119 auth_: conjure_object::BearerToken,
120 #[path(
121 name = "uploadId",
122 decoder = conjure_http::server::conjure::FromPlainDecoder,
123 log_as = "uploadId"
124 )]
125 upload_id: String,
126 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
127 key: String,
128 ) -> Result<(), conjure_http::private::Error>;
129 #[endpoint(
131 method = POST,
132 path = "/upload/v1/upload-file",
133 name = "uploadFile",
134 produces = conjure_http::server::StdResponseSerializer
135 )]
136 fn upload_file(
137 &self,
138 #[auth]
139 auth_: conjure_object::BearerToken,
140 #[query(
141 name = "fileName",
142 decoder = conjure_http::server::conjure::FromPlainDecoder,
143 log_as = "fileName"
144 )]
145 file_name: String,
146 #[query(
147 name = "sizeBytes",
148 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
149 log_as = "sizeBytes"
150 )]
151 size_bytes: Option<conjure_object::SafeLong>,
152 #[query(
153 name = "workspace",
154 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
155 safe
156 )]
157 workspace: Option<super::super::super::super::objects::api::rids::WorkspaceRid>,
158 #[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
159 body: I,
160 ) -> Result<
161 super::super::super::super::objects::api::S3Path,
162 conjure_http::private::Error,
163 >;
164}
165#[conjure_http::conjure_endpoints(
167 name = "UploadService",
168 use_legacy_error_serialization
169)]
170pub trait AsyncUploadService<#[request_body] I> {
171 #[endpoint(
174 method = POST,
175 path = "/upload/v1/multipart-upload",
176 name = "initiateMultipartUpload",
177 produces = conjure_http::server::StdResponseSerializer
178 )]
179 async fn initiate_multipart_upload(
180 &self,
181 #[auth]
182 auth_: conjure_object::BearerToken,
183 #[body(
184 deserializer = conjure_http::server::StdRequestDeserializer,
185 log_as = "uploadRequest"
186 )]
187 upload_request: super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
188 ) -> Result<
189 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
190 conjure_http::private::Error,
191 >;
192 #[endpoint(
194 method = GET,
195 path = "/upload/v1/multipart-upload/{uploadId}",
196 name = "listParts",
197 produces = conjure_http::server::conjure::CollectionResponseSerializer
198 )]
199 async fn list_parts(
200 &self,
201 #[auth]
202 auth_: conjure_object::BearerToken,
203 #[path(
204 name = "uploadId",
205 decoder = conjure_http::server::conjure::FromPlainDecoder,
206 log_as = "uploadId"
207 )]
208 upload_id: String,
209 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
210 key: String,
211 ) -> Result<
212 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
213 conjure_http::private::Error,
214 >;
215 #[endpoint(
218 method = POST,
219 path = "/upload/v1/multipart-upload/{uploadId}",
220 name = "signPart",
221 produces = conjure_http::server::StdResponseSerializer
222 )]
223 async fn sign_part(
224 &self,
225 #[auth]
226 auth_: conjure_object::BearerToken,
227 #[path(
228 name = "uploadId",
229 decoder = conjure_http::server::conjure::FromPlainDecoder,
230 log_as = "uploadId"
231 )]
232 upload_id: String,
233 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
234 key: String,
235 #[query(
236 name = "partNumber",
237 decoder = conjure_http::server::conjure::FromPlainDecoder,
238 log_as = "partNumber"
239 )]
240 part_number: i32,
241 ) -> Result<
242 super::super::super::super::objects::ingest::api::SignPartResponse,
243 conjure_http::private::Error,
244 >;
245 #[endpoint(
249 method = POST,
250 path = "/upload/v1/multipart-upload/{uploadId}/complete",
251 name = "completeMultipartUpload",
252 produces = conjure_http::server::StdResponseSerializer
253 )]
254 async fn complete_multipart_upload(
255 &self,
256 #[auth]
257 auth_: conjure_object::BearerToken,
258 #[path(
259 name = "uploadId",
260 decoder = conjure_http::server::conjure::FromPlainDecoder,
261 log_as = "uploadId"
262 )]
263 upload_id: String,
264 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
265 key: String,
266 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
267 parts: Vec<super::super::super::super::objects::ingest::api::Part>,
268 ) -> Result<
269 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
270 conjure_http::private::Error,
271 >;
272 #[endpoint(
275 method = POST,
276 path = "/upload/v1/multipart-upload/{uploadId}/abort",
277 name = "abortMultipartUpload"
278 )]
279 async fn abort_multipart_upload(
280 &self,
281 #[auth]
282 auth_: conjure_object::BearerToken,
283 #[path(
284 name = "uploadId",
285 decoder = conjure_http::server::conjure::FromPlainDecoder,
286 log_as = "uploadId"
287 )]
288 upload_id: String,
289 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
290 key: String,
291 ) -> Result<(), conjure_http::private::Error>;
292 #[endpoint(
294 method = POST,
295 path = "/upload/v1/upload-file",
296 name = "uploadFile",
297 produces = conjure_http::server::StdResponseSerializer
298 )]
299 async fn upload_file(
300 &self,
301 #[auth]
302 auth_: conjure_object::BearerToken,
303 #[query(
304 name = "fileName",
305 decoder = conjure_http::server::conjure::FromPlainDecoder,
306 log_as = "fileName"
307 )]
308 file_name: String,
309 #[query(
310 name = "sizeBytes",
311 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
312 log_as = "sizeBytes"
313 )]
314 size_bytes: Option<conjure_object::SafeLong>,
315 #[query(
316 name = "workspace",
317 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
318 safe
319 )]
320 workspace: Option<super::super::super::super::objects::api::rids::WorkspaceRid>,
321 #[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
322 body: I,
323 ) -> Result<
324 super::super::super::super::objects::api::S3Path,
325 conjure_http::private::Error,
326 >;
327}
328#[conjure_http::conjure_endpoints(
330 name = "UploadService",
331 use_legacy_error_serialization,
332 local
333)]
334pub trait LocalAsyncUploadService<#[request_body] I> {
335 #[endpoint(
338 method = POST,
339 path = "/upload/v1/multipart-upload",
340 name = "initiateMultipartUpload",
341 produces = conjure_http::server::StdResponseSerializer
342 )]
343 async fn initiate_multipart_upload(
344 &self,
345 #[auth]
346 auth_: conjure_object::BearerToken,
347 #[body(
348 deserializer = conjure_http::server::StdRequestDeserializer,
349 log_as = "uploadRequest"
350 )]
351 upload_request: super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
352 ) -> Result<
353 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
354 conjure_http::private::Error,
355 >;
356 #[endpoint(
358 method = GET,
359 path = "/upload/v1/multipart-upload/{uploadId}",
360 name = "listParts",
361 produces = conjure_http::server::conjure::CollectionResponseSerializer
362 )]
363 async fn list_parts(
364 &self,
365 #[auth]
366 auth_: conjure_object::BearerToken,
367 #[path(
368 name = "uploadId",
369 decoder = conjure_http::server::conjure::FromPlainDecoder,
370 log_as = "uploadId"
371 )]
372 upload_id: String,
373 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
374 key: String,
375 ) -> Result<
376 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
377 conjure_http::private::Error,
378 >;
379 #[endpoint(
382 method = POST,
383 path = "/upload/v1/multipart-upload/{uploadId}",
384 name = "signPart",
385 produces = conjure_http::server::StdResponseSerializer
386 )]
387 async fn sign_part(
388 &self,
389 #[auth]
390 auth_: conjure_object::BearerToken,
391 #[path(
392 name = "uploadId",
393 decoder = conjure_http::server::conjure::FromPlainDecoder,
394 log_as = "uploadId"
395 )]
396 upload_id: String,
397 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
398 key: String,
399 #[query(
400 name = "partNumber",
401 decoder = conjure_http::server::conjure::FromPlainDecoder,
402 log_as = "partNumber"
403 )]
404 part_number: i32,
405 ) -> Result<
406 super::super::super::super::objects::ingest::api::SignPartResponse,
407 conjure_http::private::Error,
408 >;
409 #[endpoint(
413 method = POST,
414 path = "/upload/v1/multipart-upload/{uploadId}/complete",
415 name = "completeMultipartUpload",
416 produces = conjure_http::server::StdResponseSerializer
417 )]
418 async fn complete_multipart_upload(
419 &self,
420 #[auth]
421 auth_: conjure_object::BearerToken,
422 #[path(
423 name = "uploadId",
424 decoder = conjure_http::server::conjure::FromPlainDecoder,
425 log_as = "uploadId"
426 )]
427 upload_id: String,
428 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
429 key: String,
430 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
431 parts: Vec<super::super::super::super::objects::ingest::api::Part>,
432 ) -> Result<
433 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
434 conjure_http::private::Error,
435 >;
436 #[endpoint(
439 method = POST,
440 path = "/upload/v1/multipart-upload/{uploadId}/abort",
441 name = "abortMultipartUpload"
442 )]
443 async fn abort_multipart_upload(
444 &self,
445 #[auth]
446 auth_: conjure_object::BearerToken,
447 #[path(
448 name = "uploadId",
449 decoder = conjure_http::server::conjure::FromPlainDecoder,
450 log_as = "uploadId"
451 )]
452 upload_id: String,
453 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
454 key: String,
455 ) -> Result<(), conjure_http::private::Error>;
456 #[endpoint(
458 method = POST,
459 path = "/upload/v1/upload-file",
460 name = "uploadFile",
461 produces = conjure_http::server::StdResponseSerializer
462 )]
463 async fn upload_file(
464 &self,
465 #[auth]
466 auth_: conjure_object::BearerToken,
467 #[query(
468 name = "fileName",
469 decoder = conjure_http::server::conjure::FromPlainDecoder,
470 log_as = "fileName"
471 )]
472 file_name: String,
473 #[query(
474 name = "sizeBytes",
475 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
476 log_as = "sizeBytes"
477 )]
478 size_bytes: Option<conjure_object::SafeLong>,
479 #[query(
480 name = "workspace",
481 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
482 safe
483 )]
484 workspace: Option<super::super::super::super::objects::api::rids::WorkspaceRid>,
485 #[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
486 body: I,
487 ) -> Result<
488 super::super::super::super::objects::api::S3Path,
489 conjure_http::private::Error,
490 >;
491}