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 ) -> Result<
46 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
47 conjure_http::private::Error,
48 >;
49 #[endpoint(
52 method = POST,
53 path = "/upload/v1/multipart-upload/{uploadId}",
54 name = "signPart",
55 accept = conjure_http::client::StdResponseDeserializer
56 )]
57 fn sign_part(
58 &self,
59 #[auth]
60 auth_: &conjure_object::BearerToken,
61 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
62 upload_id: &str,
63 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
64 key: &str,
65 #[query(
66 name = "partNumber",
67 encoder = conjure_http::client::conjure::PlainEncoder
68 )]
69 part_number: i32,
70 ) -> Result<
71 super::super::super::super::objects::ingest::api::SignPartResponse,
72 conjure_http::private::Error,
73 >;
74 #[endpoint(
78 method = POST,
79 path = "/upload/v1/multipart-upload/{uploadId}/complete",
80 name = "completeMultipartUpload",
81 accept = conjure_http::client::StdResponseDeserializer
82 )]
83 fn complete_multipart_upload(
84 &self,
85 #[auth]
86 auth_: &conjure_object::BearerToken,
87 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
88 upload_id: &str,
89 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
90 key: &str,
91 #[body(serializer = conjure_http::client::StdRequestSerializer)]
92 parts: &[super::super::super::super::objects::ingest::api::Part],
93 ) -> Result<
94 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
95 conjure_http::private::Error,
96 >;
97 #[endpoint(
100 method = POST,
101 path = "/upload/v1/multipart-upload/{uploadId}/abort",
102 name = "abortMultipartUpload",
103 accept = conjure_http::client::conjure::EmptyResponseDeserializer
104 )]
105 fn abort_multipart_upload(
106 &self,
107 #[auth]
108 auth_: &conjure_object::BearerToken,
109 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
110 upload_id: &str,
111 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
112 key: &str,
113 ) -> Result<(), conjure_http::private::Error>;
114 #[endpoint(
119 method = POST,
120 path = "/upload/v1/sign-download",
121 name = "signDownload",
122 accept = conjure_http::client::StdResponseDeserializer
123 )]
124 fn sign_download(
125 &self,
126 #[auth]
127 auth_: &conjure_object::BearerToken,
128 #[body(serializer = conjure_http::client::StdRequestSerializer)]
129 request: &super::super::super::super::objects::ingest::api::SignDownloadRequest,
130 ) -> Result<
131 super::super::super::super::objects::ingest::api::SignDownloadResponse,
132 conjure_http::private::Error,
133 >;
134 #[endpoint(
136 method = POST,
137 path = "/upload/v1/upload-file",
138 name = "uploadFile",
139 accept = conjure_http::client::StdResponseDeserializer
140 )]
141 fn upload_file(
142 &self,
143 #[auth]
144 auth_: &conjure_object::BearerToken,
145 #[query(
146 name = "fileName",
147 encoder = conjure_http::client::conjure::PlainEncoder
148 )]
149 file_name: &str,
150 #[query(
151 name = "sizeBytes",
152 encoder = conjure_http::client::conjure::PlainSeqEncoder
153 )]
154 size_bytes: Option<conjure_object::SafeLong>,
155 #[query(
156 name = "workspace",
157 encoder = conjure_http::client::conjure::PlainSeqEncoder
158 )]
159 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
160 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
161 body: impl conjure_http::client::WriteBody<O>,
162 ) -> Result<
163 super::super::super::super::objects::api::S3Path,
164 conjure_http::private::Error,
165 >;
166}
167#[conjure_http::conjure_client(name = "UploadService")]
169pub trait AsyncUploadService<
170 #[request_writer]
171 O,
172 #[response_body]
173 I: conjure_http::private::Stream<
174 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
175 >,
176> {
177 #[endpoint(
180 method = POST,
181 path = "/upload/v1/multipart-upload",
182 name = "initiateMultipartUpload",
183 accept = conjure_http::client::StdResponseDeserializer
184 )]
185 async fn initiate_multipart_upload(
186 &self,
187 #[auth]
188 auth_: &conjure_object::BearerToken,
189 #[body(serializer = conjure_http::client::StdRequestSerializer)]
190 upload_request: &super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
191 ) -> Result<
192 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
193 conjure_http::private::Error,
194 >;
195 #[endpoint(
197 method = GET,
198 path = "/upload/v1/multipart-upload/{uploadId}",
199 name = "listParts",
200 accept = conjure_http::client::conjure::CollectionResponseDeserializer
201 )]
202 async fn list_parts(
203 &self,
204 #[auth]
205 auth_: &conjure_object::BearerToken,
206 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
207 upload_id: &str,
208 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
209 key: &str,
210 ) -> Result<
211 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
212 conjure_http::private::Error,
213 >;
214 #[endpoint(
217 method = POST,
218 path = "/upload/v1/multipart-upload/{uploadId}",
219 name = "signPart",
220 accept = conjure_http::client::StdResponseDeserializer
221 )]
222 async fn sign_part(
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 = "partNumber",
232 encoder = conjure_http::client::conjure::PlainEncoder
233 )]
234 part_number: i32,
235 ) -> Result<
236 super::super::super::super::objects::ingest::api::SignPartResponse,
237 conjure_http::private::Error,
238 >;
239 #[endpoint(
243 method = POST,
244 path = "/upload/v1/multipart-upload/{uploadId}/complete",
245 name = "completeMultipartUpload",
246 accept = conjure_http::client::StdResponseDeserializer
247 )]
248 async fn complete_multipart_upload(
249 &self,
250 #[auth]
251 auth_: &conjure_object::BearerToken,
252 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
253 upload_id: &str,
254 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
255 key: &str,
256 #[body(serializer = conjure_http::client::StdRequestSerializer)]
257 parts: &[super::super::super::super::objects::ingest::api::Part],
258 ) -> Result<
259 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
260 conjure_http::private::Error,
261 >;
262 #[endpoint(
265 method = POST,
266 path = "/upload/v1/multipart-upload/{uploadId}/abort",
267 name = "abortMultipartUpload",
268 accept = conjure_http::client::conjure::EmptyResponseDeserializer
269 )]
270 async fn abort_multipart_upload(
271 &self,
272 #[auth]
273 auth_: &conjure_object::BearerToken,
274 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
275 upload_id: &str,
276 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
277 key: &str,
278 ) -> Result<(), conjure_http::private::Error>;
279 #[endpoint(
284 method = POST,
285 path = "/upload/v1/sign-download",
286 name = "signDownload",
287 accept = conjure_http::client::StdResponseDeserializer
288 )]
289 async fn sign_download(
290 &self,
291 #[auth]
292 auth_: &conjure_object::BearerToken,
293 #[body(serializer = conjure_http::client::StdRequestSerializer)]
294 request: &super::super::super::super::objects::ingest::api::SignDownloadRequest,
295 ) -> Result<
296 super::super::super::super::objects::ingest::api::SignDownloadResponse,
297 conjure_http::private::Error,
298 >;
299 #[endpoint(
301 method = POST,
302 path = "/upload/v1/upload-file",
303 name = "uploadFile",
304 accept = conjure_http::client::StdResponseDeserializer
305 )]
306 async fn upload_file(
307 &self,
308 #[auth]
309 auth_: &conjure_object::BearerToken,
310 #[query(
311 name = "fileName",
312 encoder = conjure_http::client::conjure::PlainEncoder
313 )]
314 file_name: &str,
315 #[query(
316 name = "sizeBytes",
317 encoder = conjure_http::client::conjure::PlainSeqEncoder
318 )]
319 size_bytes: Option<conjure_object::SafeLong>,
320 #[query(
321 name = "workspace",
322 encoder = conjure_http::client::conjure::PlainSeqEncoder
323 )]
324 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
325 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
326 body: impl conjure_http::client::AsyncWriteBody<O> + Sync + Send,
327 ) -> Result<
328 super::super::super::super::objects::api::S3Path,
329 conjure_http::private::Error,
330 >;
331}
332#[conjure_http::conjure_client(name = "UploadService", local)]
334pub trait LocalAsyncUploadService<
335 #[request_writer]
336 O,
337 #[response_body]
338 I: conjure_http::private::Stream<
339 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
340 >,
341> {
342 #[endpoint(
345 method = POST,
346 path = "/upload/v1/multipart-upload",
347 name = "initiateMultipartUpload",
348 accept = conjure_http::client::StdResponseDeserializer
349 )]
350 async fn initiate_multipart_upload(
351 &self,
352 #[auth]
353 auth_: &conjure_object::BearerToken,
354 #[body(serializer = conjure_http::client::StdRequestSerializer)]
355 upload_request: &super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
356 ) -> Result<
357 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
358 conjure_http::private::Error,
359 >;
360 #[endpoint(
362 method = GET,
363 path = "/upload/v1/multipart-upload/{uploadId}",
364 name = "listParts",
365 accept = conjure_http::client::conjure::CollectionResponseDeserializer
366 )]
367 async fn list_parts(
368 &self,
369 #[auth]
370 auth_: &conjure_object::BearerToken,
371 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
372 upload_id: &str,
373 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
374 key: &str,
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 accept = conjure_http::client::StdResponseDeserializer
386 )]
387 async fn sign_part(
388 &self,
389 #[auth]
390 auth_: &conjure_object::BearerToken,
391 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
392 upload_id: &str,
393 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
394 key: &str,
395 #[query(
396 name = "partNumber",
397 encoder = conjure_http::client::conjure::PlainEncoder
398 )]
399 part_number: i32,
400 ) -> Result<
401 super::super::super::super::objects::ingest::api::SignPartResponse,
402 conjure_http::private::Error,
403 >;
404 #[endpoint(
408 method = POST,
409 path = "/upload/v1/multipart-upload/{uploadId}/complete",
410 name = "completeMultipartUpload",
411 accept = conjure_http::client::StdResponseDeserializer
412 )]
413 async fn complete_multipart_upload(
414 &self,
415 #[auth]
416 auth_: &conjure_object::BearerToken,
417 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
418 upload_id: &str,
419 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
420 key: &str,
421 #[body(serializer = conjure_http::client::StdRequestSerializer)]
422 parts: &[super::super::super::super::objects::ingest::api::Part],
423 ) -> Result<
424 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
425 conjure_http::private::Error,
426 >;
427 #[endpoint(
430 method = POST,
431 path = "/upload/v1/multipart-upload/{uploadId}/abort",
432 name = "abortMultipartUpload",
433 accept = conjure_http::client::conjure::EmptyResponseDeserializer
434 )]
435 async fn abort_multipart_upload(
436 &self,
437 #[auth]
438 auth_: &conjure_object::BearerToken,
439 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
440 upload_id: &str,
441 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
442 key: &str,
443 ) -> Result<(), conjure_http::private::Error>;
444 #[endpoint(
449 method = POST,
450 path = "/upload/v1/sign-download",
451 name = "signDownload",
452 accept = conjure_http::client::StdResponseDeserializer
453 )]
454 async fn sign_download(
455 &self,
456 #[auth]
457 auth_: &conjure_object::BearerToken,
458 #[body(serializer = conjure_http::client::StdRequestSerializer)]
459 request: &super::super::super::super::objects::ingest::api::SignDownloadRequest,
460 ) -> Result<
461 super::super::super::super::objects::ingest::api::SignDownloadResponse,
462 conjure_http::private::Error,
463 >;
464 #[endpoint(
466 method = POST,
467 path = "/upload/v1/upload-file",
468 name = "uploadFile",
469 accept = conjure_http::client::StdResponseDeserializer
470 )]
471 async fn upload_file(
472 &self,
473 #[auth]
474 auth_: &conjure_object::BearerToken,
475 #[query(
476 name = "fileName",
477 encoder = conjure_http::client::conjure::PlainEncoder
478 )]
479 file_name: &str,
480 #[query(
481 name = "sizeBytes",
482 encoder = conjure_http::client::conjure::PlainSeqEncoder
483 )]
484 size_bytes: Option<conjure_object::SafeLong>,
485 #[query(
486 name = "workspace",
487 encoder = conjure_http::client::conjure::PlainSeqEncoder
488 )]
489 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
490 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
491 body: impl conjure_http::client::LocalAsyncWriteBody<O>,
492 ) -> Result<
493 super::super::super::super::objects::api::S3Path,
494 conjure_http::private::Error,
495 >;
496}