1use conjure_http::endpoint;
2#[conjure_http::conjure_client(name = "UploadService")]
4pub trait UploadService<
5 #[request_writer]
6 O,
7 #[response_body]
8 I: Iterator<
9 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
10 >,
11> {
12 #[endpoint(
15 method = POST,
16 path = "/upload/v1/multipart-upload",
17 name = "initiateMultipartUpload",
18 accept = conjure_http::client::StdResponseDeserializer
19 )]
20 fn initiate_multipart_upload(
21 &self,
22 #[auth]
23 auth_: &conjure_object::BearerToken,
24 #[body(serializer = conjure_http::client::StdRequestSerializer)]
25 upload_request: &super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
26 ) -> Result<
27 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
28 conjure_http::private::Error,
29 >;
30 #[endpoint(
32 method = GET,
33 path = "/upload/v1/multipart-upload/{uploadId}",
34 name = "listParts",
35 accept = conjure_http::client::conjure::CollectionResponseDeserializer
36 )]
37 fn list_parts(
38 &self,
39 #[auth]
40 auth_: &conjure_object::BearerToken,
41 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
42 upload_id: &str,
43 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
44 key: &str,
45 #[query(
46 name = "bucket",
47 encoder = conjure_http::client::conjure::PlainSeqEncoder
48 )]
49 bucket: Option<&str>,
50 ) -> Result<
51 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
52 conjure_http::private::Error,
53 >;
54 #[endpoint(
57 method = POST,
58 path = "/upload/v1/multipart-upload/{uploadId}",
59 name = "signPart",
60 accept = conjure_http::client::StdResponseDeserializer
61 )]
62 fn sign_part(
63 &self,
64 #[auth]
65 auth_: &conjure_object::BearerToken,
66 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
67 upload_id: &str,
68 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
69 key: &str,
70 #[query(
71 name = "partNumber",
72 encoder = conjure_http::client::conjure::PlainEncoder
73 )]
74 part_number: i32,
75 #[query(
76 name = "bucket",
77 encoder = conjure_http::client::conjure::PlainSeqEncoder
78 )]
79 bucket: Option<&str>,
80 ) -> Result<
81 super::super::super::super::objects::ingest::api::SignPartResponse,
82 conjure_http::private::Error,
83 >;
84 #[endpoint(
88 method = POST,
89 path = "/upload/v1/multipart-upload/{uploadId}/complete",
90 name = "completeMultipartUpload",
91 accept = conjure_http::client::StdResponseDeserializer
92 )]
93 fn complete_multipart_upload(
94 &self,
95 #[auth]
96 auth_: &conjure_object::BearerToken,
97 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
98 upload_id: &str,
99 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
100 key: &str,
101 #[query(
102 name = "bucket",
103 encoder = conjure_http::client::conjure::PlainSeqEncoder
104 )]
105 bucket: Option<&str>,
106 #[body(serializer = conjure_http::client::StdRequestSerializer)]
107 parts: &[super::super::super::super::objects::ingest::api::Part],
108 ) -> Result<
109 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
110 conjure_http::private::Error,
111 >;
112 #[endpoint(
115 method = POST,
116 path = "/upload/v1/multipart-upload/{uploadId}/abort",
117 name = "abortMultipartUpload",
118 accept = conjure_http::client::conjure::EmptyResponseDeserializer
119 )]
120 fn abort_multipart_upload(
121 &self,
122 #[auth]
123 auth_: &conjure_object::BearerToken,
124 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
125 upload_id: &str,
126 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
127 key: &str,
128 #[query(
129 name = "bucket",
130 encoder = conjure_http::client::conjure::PlainSeqEncoder
131 )]
132 bucket: Option<&str>,
133 ) -> Result<(), conjure_http::private::Error>;
134 #[endpoint(
139 method = POST,
140 path = "/upload/v1/sign-download",
141 name = "signDownload",
142 accept = conjure_http::client::StdResponseDeserializer
143 )]
144 fn sign_download(
145 &self,
146 #[auth]
147 auth_: &conjure_object::BearerToken,
148 #[body(serializer = conjure_http::client::StdRequestSerializer)]
149 request: &super::super::super::super::objects::ingest::api::SignDownloadRequest,
150 ) -> Result<
151 super::super::super::super::objects::ingest::api::SignDownloadResponse,
152 conjure_http::private::Error,
153 >;
154 #[endpoint(
156 method = POST,
157 path = "/upload/v1/upload-file",
158 name = "uploadFile",
159 accept = conjure_http::client::StdResponseDeserializer
160 )]
161 fn upload_file(
162 &self,
163 #[auth]
164 auth_: &conjure_object::BearerToken,
165 #[query(
166 name = "fileName",
167 encoder = conjure_http::client::conjure::PlainEncoder
168 )]
169 file_name: &str,
170 #[query(
171 name = "sizeBytes",
172 encoder = conjure_http::client::conjure::PlainSeqEncoder
173 )]
174 size_bytes: Option<conjure_object::SafeLong>,
175 #[query(
176 name = "workspace",
177 encoder = conjure_http::client::conjure::PlainSeqEncoder
178 )]
179 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
180 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
181 body: impl conjure_http::client::WriteBody<O>,
182 ) -> Result<
183 super::super::super::super::objects::api::S3Path,
184 conjure_http::private::Error,
185 >;
186}
187#[conjure_http::conjure_client(name = "UploadService")]
189pub trait AsyncUploadService<
190 #[request_writer]
191 O,
192 #[response_body]
193 I: conjure_http::private::Stream<
194 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
195 >,
196> {
197 #[endpoint(
200 method = POST,
201 path = "/upload/v1/multipart-upload",
202 name = "initiateMultipartUpload",
203 accept = conjure_http::client::StdResponseDeserializer
204 )]
205 async fn initiate_multipart_upload(
206 &self,
207 #[auth]
208 auth_: &conjure_object::BearerToken,
209 #[body(serializer = conjure_http::client::StdRequestSerializer)]
210 upload_request: &super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
211 ) -> Result<
212 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
213 conjure_http::private::Error,
214 >;
215 #[endpoint(
217 method = GET,
218 path = "/upload/v1/multipart-upload/{uploadId}",
219 name = "listParts",
220 accept = conjure_http::client::conjure::CollectionResponseDeserializer
221 )]
222 async fn list_parts(
223 &self,
224 #[auth]
225 auth_: &conjure_object::BearerToken,
226 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
227 upload_id: &str,
228 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
229 key: &str,
230 #[query(
231 name = "bucket",
232 encoder = conjure_http::client::conjure::PlainSeqEncoder
233 )]
234 bucket: Option<&str>,
235 ) -> Result<
236 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
237 conjure_http::private::Error,
238 >;
239 #[endpoint(
242 method = POST,
243 path = "/upload/v1/multipart-upload/{uploadId}",
244 name = "signPart",
245 accept = conjure_http::client::StdResponseDeserializer
246 )]
247 async fn sign_part(
248 &self,
249 #[auth]
250 auth_: &conjure_object::BearerToken,
251 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
252 upload_id: &str,
253 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
254 key: &str,
255 #[query(
256 name = "partNumber",
257 encoder = conjure_http::client::conjure::PlainEncoder
258 )]
259 part_number: i32,
260 #[query(
261 name = "bucket",
262 encoder = conjure_http::client::conjure::PlainSeqEncoder
263 )]
264 bucket: Option<&str>,
265 ) -> Result<
266 super::super::super::super::objects::ingest::api::SignPartResponse,
267 conjure_http::private::Error,
268 >;
269 #[endpoint(
273 method = POST,
274 path = "/upload/v1/multipart-upload/{uploadId}/complete",
275 name = "completeMultipartUpload",
276 accept = conjure_http::client::StdResponseDeserializer
277 )]
278 async fn complete_multipart_upload(
279 &self,
280 #[auth]
281 auth_: &conjure_object::BearerToken,
282 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
283 upload_id: &str,
284 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
285 key: &str,
286 #[query(
287 name = "bucket",
288 encoder = conjure_http::client::conjure::PlainSeqEncoder
289 )]
290 bucket: Option<&str>,
291 #[body(serializer = conjure_http::client::StdRequestSerializer)]
292 parts: &[super::super::super::super::objects::ingest::api::Part],
293 ) -> Result<
294 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
295 conjure_http::private::Error,
296 >;
297 #[endpoint(
300 method = POST,
301 path = "/upload/v1/multipart-upload/{uploadId}/abort",
302 name = "abortMultipartUpload",
303 accept = conjure_http::client::conjure::EmptyResponseDeserializer
304 )]
305 async fn abort_multipart_upload(
306 &self,
307 #[auth]
308 auth_: &conjure_object::BearerToken,
309 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
310 upload_id: &str,
311 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
312 key: &str,
313 #[query(
314 name = "bucket",
315 encoder = conjure_http::client::conjure::PlainSeqEncoder
316 )]
317 bucket: Option<&str>,
318 ) -> Result<(), conjure_http::private::Error>;
319 #[endpoint(
324 method = POST,
325 path = "/upload/v1/sign-download",
326 name = "signDownload",
327 accept = conjure_http::client::StdResponseDeserializer
328 )]
329 async fn sign_download(
330 &self,
331 #[auth]
332 auth_: &conjure_object::BearerToken,
333 #[body(serializer = conjure_http::client::StdRequestSerializer)]
334 request: &super::super::super::super::objects::ingest::api::SignDownloadRequest,
335 ) -> Result<
336 super::super::super::super::objects::ingest::api::SignDownloadResponse,
337 conjure_http::private::Error,
338 >;
339 #[endpoint(
341 method = POST,
342 path = "/upload/v1/upload-file",
343 name = "uploadFile",
344 accept = conjure_http::client::StdResponseDeserializer
345 )]
346 async fn upload_file(
347 &self,
348 #[auth]
349 auth_: &conjure_object::BearerToken,
350 #[query(
351 name = "fileName",
352 encoder = conjure_http::client::conjure::PlainEncoder
353 )]
354 file_name: &str,
355 #[query(
356 name = "sizeBytes",
357 encoder = conjure_http::client::conjure::PlainSeqEncoder
358 )]
359 size_bytes: Option<conjure_object::SafeLong>,
360 #[query(
361 name = "workspace",
362 encoder = conjure_http::client::conjure::PlainSeqEncoder
363 )]
364 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
365 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
366 body: impl conjure_http::client::AsyncWriteBody<O> + Sync + Send,
367 ) -> Result<
368 super::super::super::super::objects::api::S3Path,
369 conjure_http::private::Error,
370 >;
371}
372#[conjure_http::conjure_client(name = "UploadService", local)]
374pub trait LocalAsyncUploadService<
375 #[request_writer]
376 O,
377 #[response_body]
378 I: conjure_http::private::Stream<
379 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
380 >,
381> {
382 #[endpoint(
385 method = POST,
386 path = "/upload/v1/multipart-upload",
387 name = "initiateMultipartUpload",
388 accept = conjure_http::client::StdResponseDeserializer
389 )]
390 async fn initiate_multipart_upload(
391 &self,
392 #[auth]
393 auth_: &conjure_object::BearerToken,
394 #[body(serializer = conjure_http::client::StdRequestSerializer)]
395 upload_request: &super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
396 ) -> Result<
397 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
398 conjure_http::private::Error,
399 >;
400 #[endpoint(
402 method = GET,
403 path = "/upload/v1/multipart-upload/{uploadId}",
404 name = "listParts",
405 accept = conjure_http::client::conjure::CollectionResponseDeserializer
406 )]
407 async fn list_parts(
408 &self,
409 #[auth]
410 auth_: &conjure_object::BearerToken,
411 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
412 upload_id: &str,
413 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
414 key: &str,
415 #[query(
416 name = "bucket",
417 encoder = conjure_http::client::conjure::PlainSeqEncoder
418 )]
419 bucket: Option<&str>,
420 ) -> Result<
421 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
422 conjure_http::private::Error,
423 >;
424 #[endpoint(
427 method = POST,
428 path = "/upload/v1/multipart-upload/{uploadId}",
429 name = "signPart",
430 accept = conjure_http::client::StdResponseDeserializer
431 )]
432 async fn sign_part(
433 &self,
434 #[auth]
435 auth_: &conjure_object::BearerToken,
436 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
437 upload_id: &str,
438 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
439 key: &str,
440 #[query(
441 name = "partNumber",
442 encoder = conjure_http::client::conjure::PlainEncoder
443 )]
444 part_number: i32,
445 #[query(
446 name = "bucket",
447 encoder = conjure_http::client::conjure::PlainSeqEncoder
448 )]
449 bucket: Option<&str>,
450 ) -> Result<
451 super::super::super::super::objects::ingest::api::SignPartResponse,
452 conjure_http::private::Error,
453 >;
454 #[endpoint(
458 method = POST,
459 path = "/upload/v1/multipart-upload/{uploadId}/complete",
460 name = "completeMultipartUpload",
461 accept = conjure_http::client::StdResponseDeserializer
462 )]
463 async fn complete_multipart_upload(
464 &self,
465 #[auth]
466 auth_: &conjure_object::BearerToken,
467 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
468 upload_id: &str,
469 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
470 key: &str,
471 #[query(
472 name = "bucket",
473 encoder = conjure_http::client::conjure::PlainSeqEncoder
474 )]
475 bucket: Option<&str>,
476 #[body(serializer = conjure_http::client::StdRequestSerializer)]
477 parts: &[super::super::super::super::objects::ingest::api::Part],
478 ) -> Result<
479 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
480 conjure_http::private::Error,
481 >;
482 #[endpoint(
485 method = POST,
486 path = "/upload/v1/multipart-upload/{uploadId}/abort",
487 name = "abortMultipartUpload",
488 accept = conjure_http::client::conjure::EmptyResponseDeserializer
489 )]
490 async fn abort_multipart_upload(
491 &self,
492 #[auth]
493 auth_: &conjure_object::BearerToken,
494 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
495 upload_id: &str,
496 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
497 key: &str,
498 #[query(
499 name = "bucket",
500 encoder = conjure_http::client::conjure::PlainSeqEncoder
501 )]
502 bucket: Option<&str>,
503 ) -> Result<(), conjure_http::private::Error>;
504 #[endpoint(
509 method = POST,
510 path = "/upload/v1/sign-download",
511 name = "signDownload",
512 accept = conjure_http::client::StdResponseDeserializer
513 )]
514 async fn sign_download(
515 &self,
516 #[auth]
517 auth_: &conjure_object::BearerToken,
518 #[body(serializer = conjure_http::client::StdRequestSerializer)]
519 request: &super::super::super::super::objects::ingest::api::SignDownloadRequest,
520 ) -> Result<
521 super::super::super::super::objects::ingest::api::SignDownloadResponse,
522 conjure_http::private::Error,
523 >;
524 #[endpoint(
526 method = POST,
527 path = "/upload/v1/upload-file",
528 name = "uploadFile",
529 accept = conjure_http::client::StdResponseDeserializer
530 )]
531 async fn upload_file(
532 &self,
533 #[auth]
534 auth_: &conjure_object::BearerToken,
535 #[query(
536 name = "fileName",
537 encoder = conjure_http::client::conjure::PlainEncoder
538 )]
539 file_name: &str,
540 #[query(
541 name = "sizeBytes",
542 encoder = conjure_http::client::conjure::PlainSeqEncoder
543 )]
544 size_bytes: Option<conjure_object::SafeLong>,
545 #[query(
546 name = "workspace",
547 encoder = conjure_http::client::conjure::PlainSeqEncoder
548 )]
549 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
550 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
551 body: impl conjure_http::client::LocalAsyncWriteBody<O>,
552 ) -> Result<
553 super::super::super::super::objects::api::S3Path,
554 conjure_http::private::Error,
555 >;
556}