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(
116 method = POST,
117 path = "/upload/v1/upload-file",
118 name = "uploadFile",
119 accept = conjure_http::client::StdResponseDeserializer
120 )]
121 fn upload_file(
122 &self,
123 #[auth]
124 auth_: &conjure_object::BearerToken,
125 #[query(
126 name = "fileName",
127 encoder = conjure_http::client::conjure::PlainEncoder
128 )]
129 file_name: &str,
130 #[query(
131 name = "sizeBytes",
132 encoder = conjure_http::client::conjure::PlainSeqEncoder
133 )]
134 size_bytes: Option<conjure_object::SafeLong>,
135 #[query(
136 name = "workspace",
137 encoder = conjure_http::client::conjure::PlainSeqEncoder
138 )]
139 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
140 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
141 body: impl conjure_http::client::WriteBody<O>,
142 ) -> Result<
143 super::super::super::super::objects::api::S3Path,
144 conjure_http::private::Error,
145 >;
146}
147#[conjure_http::conjure_client(name = "UploadService")]
149pub trait AsyncUploadService<
150 #[request_writer]
151 O,
152 #[response_body]
153 I: conjure_http::private::Stream<
154 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
155 >,
156> {
157 #[endpoint(
160 method = POST,
161 path = "/upload/v1/multipart-upload",
162 name = "initiateMultipartUpload",
163 accept = conjure_http::client::StdResponseDeserializer
164 )]
165 async fn initiate_multipart_upload(
166 &self,
167 #[auth]
168 auth_: &conjure_object::BearerToken,
169 #[body(serializer = conjure_http::client::StdRequestSerializer)]
170 upload_request: &super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
171 ) -> Result<
172 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
173 conjure_http::private::Error,
174 >;
175 #[endpoint(
177 method = GET,
178 path = "/upload/v1/multipart-upload/{uploadId}",
179 name = "listParts",
180 accept = conjure_http::client::conjure::CollectionResponseDeserializer
181 )]
182 async fn list_parts(
183 &self,
184 #[auth]
185 auth_: &conjure_object::BearerToken,
186 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
187 upload_id: &str,
188 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
189 key: &str,
190 ) -> Result<
191 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
192 conjure_http::private::Error,
193 >;
194 #[endpoint(
197 method = POST,
198 path = "/upload/v1/multipart-upload/{uploadId}",
199 name = "signPart",
200 accept = conjure_http::client::StdResponseDeserializer
201 )]
202 async fn sign_part(
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 #[query(
211 name = "partNumber",
212 encoder = conjure_http::client::conjure::PlainEncoder
213 )]
214 part_number: i32,
215 ) -> Result<
216 super::super::super::super::objects::ingest::api::SignPartResponse,
217 conjure_http::private::Error,
218 >;
219 #[endpoint(
223 method = POST,
224 path = "/upload/v1/multipart-upload/{uploadId}/complete",
225 name = "completeMultipartUpload",
226 accept = conjure_http::client::StdResponseDeserializer
227 )]
228 async fn complete_multipart_upload(
229 &self,
230 #[auth]
231 auth_: &conjure_object::BearerToken,
232 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
233 upload_id: &str,
234 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
235 key: &str,
236 #[body(serializer = conjure_http::client::StdRequestSerializer)]
237 parts: &[super::super::super::super::objects::ingest::api::Part],
238 ) -> Result<
239 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
240 conjure_http::private::Error,
241 >;
242 #[endpoint(
245 method = POST,
246 path = "/upload/v1/multipart-upload/{uploadId}/abort",
247 name = "abortMultipartUpload",
248 accept = conjure_http::client::conjure::EmptyResponseDeserializer
249 )]
250 async fn abort_multipart_upload(
251 &self,
252 #[auth]
253 auth_: &conjure_object::BearerToken,
254 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
255 upload_id: &str,
256 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
257 key: &str,
258 ) -> Result<(), conjure_http::private::Error>;
259 #[endpoint(
261 method = POST,
262 path = "/upload/v1/upload-file",
263 name = "uploadFile",
264 accept = conjure_http::client::StdResponseDeserializer
265 )]
266 async fn upload_file(
267 &self,
268 #[auth]
269 auth_: &conjure_object::BearerToken,
270 #[query(
271 name = "fileName",
272 encoder = conjure_http::client::conjure::PlainEncoder
273 )]
274 file_name: &str,
275 #[query(
276 name = "sizeBytes",
277 encoder = conjure_http::client::conjure::PlainSeqEncoder
278 )]
279 size_bytes: Option<conjure_object::SafeLong>,
280 #[query(
281 name = "workspace",
282 encoder = conjure_http::client::conjure::PlainSeqEncoder
283 )]
284 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
285 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
286 body: impl conjure_http::client::AsyncWriteBody<O> + Sync + Send,
287 ) -> Result<
288 super::super::super::super::objects::api::S3Path,
289 conjure_http::private::Error,
290 >;
291}
292#[conjure_http::conjure_client(name = "UploadService", local)]
294pub trait LocalAsyncUploadService<
295 #[request_writer]
296 O,
297 #[response_body]
298 I: conjure_http::private::Stream<
299 Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
300 >,
301> {
302 #[endpoint(
305 method = POST,
306 path = "/upload/v1/multipart-upload",
307 name = "initiateMultipartUpload",
308 accept = conjure_http::client::StdResponseDeserializer
309 )]
310 async fn initiate_multipart_upload(
311 &self,
312 #[auth]
313 auth_: &conjure_object::BearerToken,
314 #[body(serializer = conjure_http::client::StdRequestSerializer)]
315 upload_request: &super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
316 ) -> Result<
317 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
318 conjure_http::private::Error,
319 >;
320 #[endpoint(
322 method = GET,
323 path = "/upload/v1/multipart-upload/{uploadId}",
324 name = "listParts",
325 accept = conjure_http::client::conjure::CollectionResponseDeserializer
326 )]
327 async fn list_parts(
328 &self,
329 #[auth]
330 auth_: &conjure_object::BearerToken,
331 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
332 upload_id: &str,
333 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
334 key: &str,
335 ) -> Result<
336 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
337 conjure_http::private::Error,
338 >;
339 #[endpoint(
342 method = POST,
343 path = "/upload/v1/multipart-upload/{uploadId}",
344 name = "signPart",
345 accept = conjure_http::client::StdResponseDeserializer
346 )]
347 async fn sign_part(
348 &self,
349 #[auth]
350 auth_: &conjure_object::BearerToken,
351 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
352 upload_id: &str,
353 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
354 key: &str,
355 #[query(
356 name = "partNumber",
357 encoder = conjure_http::client::conjure::PlainEncoder
358 )]
359 part_number: i32,
360 ) -> Result<
361 super::super::super::super::objects::ingest::api::SignPartResponse,
362 conjure_http::private::Error,
363 >;
364 #[endpoint(
368 method = POST,
369 path = "/upload/v1/multipart-upload/{uploadId}/complete",
370 name = "completeMultipartUpload",
371 accept = conjure_http::client::StdResponseDeserializer
372 )]
373 async fn complete_multipart_upload(
374 &self,
375 #[auth]
376 auth_: &conjure_object::BearerToken,
377 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
378 upload_id: &str,
379 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
380 key: &str,
381 #[body(serializer = conjure_http::client::StdRequestSerializer)]
382 parts: &[super::super::super::super::objects::ingest::api::Part],
383 ) -> Result<
384 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
385 conjure_http::private::Error,
386 >;
387 #[endpoint(
390 method = POST,
391 path = "/upload/v1/multipart-upload/{uploadId}/abort",
392 name = "abortMultipartUpload",
393 accept = conjure_http::client::conjure::EmptyResponseDeserializer
394 )]
395 async fn abort_multipart_upload(
396 &self,
397 #[auth]
398 auth_: &conjure_object::BearerToken,
399 #[path(name = "uploadId", encoder = conjure_http::client::conjure::PlainEncoder)]
400 upload_id: &str,
401 #[query(name = "key", encoder = conjure_http::client::conjure::PlainEncoder)]
402 key: &str,
403 ) -> Result<(), conjure_http::private::Error>;
404 #[endpoint(
406 method = POST,
407 path = "/upload/v1/upload-file",
408 name = "uploadFile",
409 accept = conjure_http::client::StdResponseDeserializer
410 )]
411 async fn upload_file(
412 &self,
413 #[auth]
414 auth_: &conjure_object::BearerToken,
415 #[query(
416 name = "fileName",
417 encoder = conjure_http::client::conjure::PlainEncoder
418 )]
419 file_name: &str,
420 #[query(
421 name = "sizeBytes",
422 encoder = conjure_http::client::conjure::PlainSeqEncoder
423 )]
424 size_bytes: Option<conjure_object::SafeLong>,
425 #[query(
426 name = "workspace",
427 encoder = conjure_http::client::conjure::PlainSeqEncoder
428 )]
429 workspace: Option<&super::super::super::super::objects::api::rids::WorkspaceRid>,
430 #[body(serializer = conjure_http::client::conjure::BinaryRequestSerializer)]
431 body: impl conjure_http::client::LocalAsyncWriteBody<O>,
432 ) -> Result<
433 super::super::super::super::objects::api::S3Path,
434 conjure_http::private::Error,
435 >;
436}