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(
134 method = POST,
135 path = "/upload/v1/sign-download",
136 name = "signDownload",
137 produces = conjure_http::server::StdResponseSerializer
138 )]
139 fn sign_download(
140 &self,
141 #[auth]
142 auth_: conjure_object::BearerToken,
143 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
144 request: super::super::super::super::objects::ingest::api::SignDownloadRequest,
145 ) -> Result<
146 super::super::super::super::objects::ingest::api::SignDownloadResponse,
147 conjure_http::private::Error,
148 >;
149 #[endpoint(
151 method = POST,
152 path = "/upload/v1/upload-file",
153 name = "uploadFile",
154 produces = conjure_http::server::StdResponseSerializer
155 )]
156 fn upload_file(
157 &self,
158 #[auth]
159 auth_: conjure_object::BearerToken,
160 #[query(
161 name = "fileName",
162 decoder = conjure_http::server::conjure::FromPlainDecoder,
163 log_as = "fileName"
164 )]
165 file_name: String,
166 #[query(
167 name = "sizeBytes",
168 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
169 log_as = "sizeBytes"
170 )]
171 size_bytes: Option<conjure_object::SafeLong>,
172 #[query(
173 name = "workspace",
174 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
175 safe
176 )]
177 workspace: Option<super::super::super::super::objects::api::rids::WorkspaceRid>,
178 #[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
179 body: I,
180 ) -> Result<
181 super::super::super::super::objects::api::S3Path,
182 conjure_http::private::Error,
183 >;
184}
185#[conjure_http::conjure_endpoints(
187 name = "UploadService",
188 use_legacy_error_serialization
189)]
190pub trait AsyncUploadService<#[request_body] I> {
191 #[endpoint(
194 method = POST,
195 path = "/upload/v1/multipart-upload",
196 name = "initiateMultipartUpload",
197 produces = conjure_http::server::StdResponseSerializer
198 )]
199 async fn initiate_multipart_upload(
200 &self,
201 #[auth]
202 auth_: conjure_object::BearerToken,
203 #[body(
204 deserializer = conjure_http::server::StdRequestDeserializer,
205 log_as = "uploadRequest"
206 )]
207 upload_request: super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
208 ) -> Result<
209 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
210 conjure_http::private::Error,
211 >;
212 #[endpoint(
214 method = GET,
215 path = "/upload/v1/multipart-upload/{uploadId}",
216 name = "listParts",
217 produces = conjure_http::server::conjure::CollectionResponseSerializer
218 )]
219 async fn list_parts(
220 &self,
221 #[auth]
222 auth_: conjure_object::BearerToken,
223 #[path(
224 name = "uploadId",
225 decoder = conjure_http::server::conjure::FromPlainDecoder,
226 log_as = "uploadId"
227 )]
228 upload_id: String,
229 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
230 key: String,
231 ) -> Result<
232 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
233 conjure_http::private::Error,
234 >;
235 #[endpoint(
238 method = POST,
239 path = "/upload/v1/multipart-upload/{uploadId}",
240 name = "signPart",
241 produces = conjure_http::server::StdResponseSerializer
242 )]
243 async fn sign_part(
244 &self,
245 #[auth]
246 auth_: conjure_object::BearerToken,
247 #[path(
248 name = "uploadId",
249 decoder = conjure_http::server::conjure::FromPlainDecoder,
250 log_as = "uploadId"
251 )]
252 upload_id: String,
253 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
254 key: String,
255 #[query(
256 name = "partNumber",
257 decoder = conjure_http::server::conjure::FromPlainDecoder,
258 log_as = "partNumber"
259 )]
260 part_number: i32,
261 ) -> Result<
262 super::super::super::super::objects::ingest::api::SignPartResponse,
263 conjure_http::private::Error,
264 >;
265 #[endpoint(
269 method = POST,
270 path = "/upload/v1/multipart-upload/{uploadId}/complete",
271 name = "completeMultipartUpload",
272 produces = conjure_http::server::StdResponseSerializer
273 )]
274 async fn complete_multipart_upload(
275 &self,
276 #[auth]
277 auth_: conjure_object::BearerToken,
278 #[path(
279 name = "uploadId",
280 decoder = conjure_http::server::conjure::FromPlainDecoder,
281 log_as = "uploadId"
282 )]
283 upload_id: String,
284 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
285 key: String,
286 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
287 parts: Vec<super::super::super::super::objects::ingest::api::Part>,
288 ) -> Result<
289 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
290 conjure_http::private::Error,
291 >;
292 #[endpoint(
295 method = POST,
296 path = "/upload/v1/multipart-upload/{uploadId}/abort",
297 name = "abortMultipartUpload"
298 )]
299 async fn abort_multipart_upload(
300 &self,
301 #[auth]
302 auth_: conjure_object::BearerToken,
303 #[path(
304 name = "uploadId",
305 decoder = conjure_http::server::conjure::FromPlainDecoder,
306 log_as = "uploadId"
307 )]
308 upload_id: String,
309 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
310 key: String,
311 ) -> Result<(), conjure_http::private::Error>;
312 #[endpoint(
317 method = POST,
318 path = "/upload/v1/sign-download",
319 name = "signDownload",
320 produces = conjure_http::server::StdResponseSerializer
321 )]
322 async fn sign_download(
323 &self,
324 #[auth]
325 auth_: conjure_object::BearerToken,
326 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
327 request: super::super::super::super::objects::ingest::api::SignDownloadRequest,
328 ) -> Result<
329 super::super::super::super::objects::ingest::api::SignDownloadResponse,
330 conjure_http::private::Error,
331 >;
332 #[endpoint(
334 method = POST,
335 path = "/upload/v1/upload-file",
336 name = "uploadFile",
337 produces = conjure_http::server::StdResponseSerializer
338 )]
339 async fn upload_file(
340 &self,
341 #[auth]
342 auth_: conjure_object::BearerToken,
343 #[query(
344 name = "fileName",
345 decoder = conjure_http::server::conjure::FromPlainDecoder,
346 log_as = "fileName"
347 )]
348 file_name: String,
349 #[query(
350 name = "sizeBytes",
351 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
352 log_as = "sizeBytes"
353 )]
354 size_bytes: Option<conjure_object::SafeLong>,
355 #[query(
356 name = "workspace",
357 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
358 safe
359 )]
360 workspace: Option<super::super::super::super::objects::api::rids::WorkspaceRid>,
361 #[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
362 body: I,
363 ) -> Result<
364 super::super::super::super::objects::api::S3Path,
365 conjure_http::private::Error,
366 >;
367}
368#[conjure_http::conjure_endpoints(
370 name = "UploadService",
371 use_legacy_error_serialization,
372 local
373)]
374pub trait LocalAsyncUploadService<#[request_body] I> {
375 #[endpoint(
378 method = POST,
379 path = "/upload/v1/multipart-upload",
380 name = "initiateMultipartUpload",
381 produces = conjure_http::server::StdResponseSerializer
382 )]
383 async fn initiate_multipart_upload(
384 &self,
385 #[auth]
386 auth_: conjure_object::BearerToken,
387 #[body(
388 deserializer = conjure_http::server::StdRequestDeserializer,
389 log_as = "uploadRequest"
390 )]
391 upload_request: super::super::super::super::objects::ingest::api::InitiateMultipartUploadRequest,
392 ) -> Result<
393 super::super::super::super::objects::ingest::api::InitiateMultipartUploadResponse,
394 conjure_http::private::Error,
395 >;
396 #[endpoint(
398 method = GET,
399 path = "/upload/v1/multipart-upload/{uploadId}",
400 name = "listParts",
401 produces = conjure_http::server::conjure::CollectionResponseSerializer
402 )]
403 async fn list_parts(
404 &self,
405 #[auth]
406 auth_: conjure_object::BearerToken,
407 #[path(
408 name = "uploadId",
409 decoder = conjure_http::server::conjure::FromPlainDecoder,
410 log_as = "uploadId"
411 )]
412 upload_id: String,
413 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
414 key: String,
415 ) -> Result<
416 Vec<super::super::super::super::objects::ingest::api::PartWithSize>,
417 conjure_http::private::Error,
418 >;
419 #[endpoint(
422 method = POST,
423 path = "/upload/v1/multipart-upload/{uploadId}",
424 name = "signPart",
425 produces = conjure_http::server::StdResponseSerializer
426 )]
427 async fn sign_part(
428 &self,
429 #[auth]
430 auth_: conjure_object::BearerToken,
431 #[path(
432 name = "uploadId",
433 decoder = conjure_http::server::conjure::FromPlainDecoder,
434 log_as = "uploadId"
435 )]
436 upload_id: String,
437 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
438 key: String,
439 #[query(
440 name = "partNumber",
441 decoder = conjure_http::server::conjure::FromPlainDecoder,
442 log_as = "partNumber"
443 )]
444 part_number: i32,
445 ) -> Result<
446 super::super::super::super::objects::ingest::api::SignPartResponse,
447 conjure_http::private::Error,
448 >;
449 #[endpoint(
453 method = POST,
454 path = "/upload/v1/multipart-upload/{uploadId}/complete",
455 name = "completeMultipartUpload",
456 produces = conjure_http::server::StdResponseSerializer
457 )]
458 async fn complete_multipart_upload(
459 &self,
460 #[auth]
461 auth_: conjure_object::BearerToken,
462 #[path(
463 name = "uploadId",
464 decoder = conjure_http::server::conjure::FromPlainDecoder,
465 log_as = "uploadId"
466 )]
467 upload_id: String,
468 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
469 key: String,
470 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
471 parts: Vec<super::super::super::super::objects::ingest::api::Part>,
472 ) -> Result<
473 super::super::super::super::objects::ingest::api::CompleteMultipartUploadResponse,
474 conjure_http::private::Error,
475 >;
476 #[endpoint(
479 method = POST,
480 path = "/upload/v1/multipart-upload/{uploadId}/abort",
481 name = "abortMultipartUpload"
482 )]
483 async fn abort_multipart_upload(
484 &self,
485 #[auth]
486 auth_: conjure_object::BearerToken,
487 #[path(
488 name = "uploadId",
489 decoder = conjure_http::server::conjure::FromPlainDecoder,
490 log_as = "uploadId"
491 )]
492 upload_id: String,
493 #[query(name = "key", decoder = conjure_http::server::conjure::FromPlainDecoder)]
494 key: String,
495 ) -> Result<(), conjure_http::private::Error>;
496 #[endpoint(
501 method = POST,
502 path = "/upload/v1/sign-download",
503 name = "signDownload",
504 produces = conjure_http::server::StdResponseSerializer
505 )]
506 async fn sign_download(
507 &self,
508 #[auth]
509 auth_: conjure_object::BearerToken,
510 #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
511 request: super::super::super::super::objects::ingest::api::SignDownloadRequest,
512 ) -> Result<
513 super::super::super::super::objects::ingest::api::SignDownloadResponse,
514 conjure_http::private::Error,
515 >;
516 #[endpoint(
518 method = POST,
519 path = "/upload/v1/upload-file",
520 name = "uploadFile",
521 produces = conjure_http::server::StdResponseSerializer
522 )]
523 async fn upload_file(
524 &self,
525 #[auth]
526 auth_: conjure_object::BearerToken,
527 #[query(
528 name = "fileName",
529 decoder = conjure_http::server::conjure::FromPlainDecoder,
530 log_as = "fileName"
531 )]
532 file_name: String,
533 #[query(
534 name = "sizeBytes",
535 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
536 log_as = "sizeBytes"
537 )]
538 size_bytes: Option<conjure_object::SafeLong>,
539 #[query(
540 name = "workspace",
541 decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
542 safe
543 )]
544 workspace: Option<super::super::super::super::objects::api::rids::WorkspaceRid>,
545 #[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
546 body: I,
547 ) -> Result<
548 super::super::super::super::objects::api::S3Path,
549 conjure_http::private::Error,
550 >;
551}