Skip to main content

nominal_api/conjure/clients/attachments/api/
attachment_service.rs

1use conjure_http::endpoint;
2/// The attachment service provides functionality for creating, updating, and archiving attachments uploaded to S3.
3#[conjure_http::conjure_client(name = "AttachmentService")]
4pub trait AttachmentService<
5    #[response_body]
6    I: Iterator<
7            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
8        >,
9> {
10    /// Create a new attachment. Assumes the file is already uploaded to S3 through the upload service.
11    #[endpoint(
12        method = POST,
13        path = "/attachments/v1/attachments",
14        name = "create",
15        accept = conjure_http::client::StdResponseDeserializer
16    )]
17    fn create(
18        &self,
19        #[auth]
20        auth_: &conjure_object::BearerToken,
21        #[body(serializer = conjure_http::client::StdRequestSerializer)]
22        request: &super::super::super::super::objects::attachments::api::CreateAttachmentRequest,
23    ) -> Result<
24        super::super::super::super::objects::attachments::api::Attachment,
25        conjure_http::private::Error,
26    >;
27    /// Get an attachment by its RID.
28    #[endpoint(
29        method = GET,
30        path = "/attachments/v1/attachments/{rid}",
31        name = "get",
32        accept = conjure_http::client::StdResponseDeserializer
33    )]
34    fn get(
35        &self,
36        #[auth]
37        auth_: &conjure_object::BearerToken,
38        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
39        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
40    ) -> Result<
41        super::super::super::super::objects::attachments::api::Attachment,
42        conjure_http::private::Error,
43    >;
44    /// Get a set of attachments by their RIDs.
45    #[endpoint(
46        method = POST,
47        path = "/attachments/v1/attachments/batch",
48        name = "getBatch",
49        accept = conjure_http::client::StdResponseDeserializer
50    )]
51    fn get_batch(
52        &self,
53        #[auth]
54        auth_: &conjure_object::BearerToken,
55        #[body(serializer = conjure_http::client::StdRequestSerializer)]
56        request: &super::super::super::super::objects::attachments::api::GetAttachmentsRequest,
57    ) -> Result<
58        super::super::super::super::objects::attachments::api::GetAttachmentsResponse,
59        conjure_http::private::Error,
60    >;
61    /// Get the binary content of an attachment.
62    #[endpoint(
63        method = GET,
64        path = "/attachments/v1/attachments/{rid}/content",
65        name = "getContent",
66        accept = conjure_http::client::conjure::BinaryResponseDeserializer
67    )]
68    fn get_content(
69        &self,
70        #[auth]
71        auth_: &conjure_object::BearerToken,
72        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
73        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
74    ) -> Result<I, conjure_http::private::Error>;
75    /// Get a pre-signed URI to download an attachment. The link expires in 1 minute.
76    #[endpoint(
77        method = GET,
78        path = "/attachments/v1/attachments/{rid}/uri",
79        name = "getUri",
80        accept = conjure_http::client::StdResponseDeserializer
81    )]
82    fn get_uri(
83        &self,
84        #[auth]
85        auth_: &conjure_object::BearerToken,
86        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
87        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
88    ) -> Result<
89        super::super::super::super::objects::attachments::api::AttachmentUri,
90        conjure_http::private::Error,
91    >;
92    /// Update an attachment. Only the fields that are set in the request will be updated.
93    #[endpoint(
94        method = PUT,
95        path = "/attachments/v1/attachments/{rid}",
96        name = "update",
97        accept = conjure_http::client::StdResponseDeserializer
98    )]
99    fn update(
100        &self,
101        #[auth]
102        auth_: &conjure_object::BearerToken,
103        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
104        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
105        #[body(serializer = conjure_http::client::StdRequestSerializer)]
106        request: &super::super::super::super::objects::attachments::api::UpdateAttachmentRequest,
107    ) -> Result<
108        super::super::super::super::objects::attachments::api::Attachment,
109        conjure_http::private::Error,
110    >;
111    /// Archive an attachment.
112    #[endpoint(
113        method = PUT,
114        path = "/attachments/v1/attachments/{rid}/archive",
115        name = "archive",
116        accept = conjure_http::client::conjure::EmptyResponseDeserializer
117    )]
118    fn archive(
119        &self,
120        #[auth]
121        auth_: &conjure_object::BearerToken,
122        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
123        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
124    ) -> Result<(), conjure_http::private::Error>;
125    /// Unarchive an attachment.
126    #[endpoint(
127        method = PUT,
128        path = "/attachments/v1/attachments/{rid}/unarchive",
129        name = "unarchive",
130        accept = conjure_http::client::conjure::EmptyResponseDeserializer
131    )]
132    fn unarchive(
133        &self,
134        #[auth]
135        auth_: &conjure_object::BearerToken,
136        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
137        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
138    ) -> Result<(), conjure_http::private::Error>;
139}
140/// The attachment service provides functionality for creating, updating, and archiving attachments uploaded to S3.
141#[conjure_http::conjure_client(name = "AttachmentService")]
142pub trait AsyncAttachmentService<
143    #[response_body]
144    I: conjure_http::private::Stream<
145            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
146        >,
147> {
148    /// Create a new attachment. Assumes the file is already uploaded to S3 through the upload service.
149    #[endpoint(
150        method = POST,
151        path = "/attachments/v1/attachments",
152        name = "create",
153        accept = conjure_http::client::StdResponseDeserializer
154    )]
155    async fn create(
156        &self,
157        #[auth]
158        auth_: &conjure_object::BearerToken,
159        #[body(serializer = conjure_http::client::StdRequestSerializer)]
160        request: &super::super::super::super::objects::attachments::api::CreateAttachmentRequest,
161    ) -> Result<
162        super::super::super::super::objects::attachments::api::Attachment,
163        conjure_http::private::Error,
164    >;
165    /// Get an attachment by its RID.
166    #[endpoint(
167        method = GET,
168        path = "/attachments/v1/attachments/{rid}",
169        name = "get",
170        accept = conjure_http::client::StdResponseDeserializer
171    )]
172    async fn get(
173        &self,
174        #[auth]
175        auth_: &conjure_object::BearerToken,
176        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
177        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
178    ) -> Result<
179        super::super::super::super::objects::attachments::api::Attachment,
180        conjure_http::private::Error,
181    >;
182    /// Get a set of attachments by their RIDs.
183    #[endpoint(
184        method = POST,
185        path = "/attachments/v1/attachments/batch",
186        name = "getBatch",
187        accept = conjure_http::client::StdResponseDeserializer
188    )]
189    async fn get_batch(
190        &self,
191        #[auth]
192        auth_: &conjure_object::BearerToken,
193        #[body(serializer = conjure_http::client::StdRequestSerializer)]
194        request: &super::super::super::super::objects::attachments::api::GetAttachmentsRequest,
195    ) -> Result<
196        super::super::super::super::objects::attachments::api::GetAttachmentsResponse,
197        conjure_http::private::Error,
198    >;
199    /// Get the binary content of an attachment.
200    #[endpoint(
201        method = GET,
202        path = "/attachments/v1/attachments/{rid}/content",
203        name = "getContent",
204        accept = conjure_http::client::conjure::BinaryResponseDeserializer
205    )]
206    async fn get_content(
207        &self,
208        #[auth]
209        auth_: &conjure_object::BearerToken,
210        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
211        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
212    ) -> Result<I, conjure_http::private::Error>;
213    /// Get a pre-signed URI to download an attachment. The link expires in 1 minute.
214    #[endpoint(
215        method = GET,
216        path = "/attachments/v1/attachments/{rid}/uri",
217        name = "getUri",
218        accept = conjure_http::client::StdResponseDeserializer
219    )]
220    async fn get_uri(
221        &self,
222        #[auth]
223        auth_: &conjure_object::BearerToken,
224        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
225        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
226    ) -> Result<
227        super::super::super::super::objects::attachments::api::AttachmentUri,
228        conjure_http::private::Error,
229    >;
230    /// Update an attachment. Only the fields that are set in the request will be updated.
231    #[endpoint(
232        method = PUT,
233        path = "/attachments/v1/attachments/{rid}",
234        name = "update",
235        accept = conjure_http::client::StdResponseDeserializer
236    )]
237    async fn update(
238        &self,
239        #[auth]
240        auth_: &conjure_object::BearerToken,
241        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
242        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
243        #[body(serializer = conjure_http::client::StdRequestSerializer)]
244        request: &super::super::super::super::objects::attachments::api::UpdateAttachmentRequest,
245    ) -> Result<
246        super::super::super::super::objects::attachments::api::Attachment,
247        conjure_http::private::Error,
248    >;
249    /// Archive an attachment.
250    #[endpoint(
251        method = PUT,
252        path = "/attachments/v1/attachments/{rid}/archive",
253        name = "archive",
254        accept = conjure_http::client::conjure::EmptyResponseDeserializer
255    )]
256    async fn archive(
257        &self,
258        #[auth]
259        auth_: &conjure_object::BearerToken,
260        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
261        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
262    ) -> Result<(), conjure_http::private::Error>;
263    /// Unarchive an attachment.
264    #[endpoint(
265        method = PUT,
266        path = "/attachments/v1/attachments/{rid}/unarchive",
267        name = "unarchive",
268        accept = conjure_http::client::conjure::EmptyResponseDeserializer
269    )]
270    async fn unarchive(
271        &self,
272        #[auth]
273        auth_: &conjure_object::BearerToken,
274        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
275        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
276    ) -> Result<(), conjure_http::private::Error>;
277}
278/// The attachment service provides functionality for creating, updating, and archiving attachments uploaded to S3.
279#[conjure_http::conjure_client(name = "AttachmentService", local)]
280pub trait LocalAsyncAttachmentService<
281    #[response_body]
282    I: conjure_http::private::Stream<
283            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
284        >,
285> {
286    /// Create a new attachment. Assumes the file is already uploaded to S3 through the upload service.
287    #[endpoint(
288        method = POST,
289        path = "/attachments/v1/attachments",
290        name = "create",
291        accept = conjure_http::client::StdResponseDeserializer
292    )]
293    async fn create(
294        &self,
295        #[auth]
296        auth_: &conjure_object::BearerToken,
297        #[body(serializer = conjure_http::client::StdRequestSerializer)]
298        request: &super::super::super::super::objects::attachments::api::CreateAttachmentRequest,
299    ) -> Result<
300        super::super::super::super::objects::attachments::api::Attachment,
301        conjure_http::private::Error,
302    >;
303    /// Get an attachment by its RID.
304    #[endpoint(
305        method = GET,
306        path = "/attachments/v1/attachments/{rid}",
307        name = "get",
308        accept = conjure_http::client::StdResponseDeserializer
309    )]
310    async fn get(
311        &self,
312        #[auth]
313        auth_: &conjure_object::BearerToken,
314        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
315        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
316    ) -> Result<
317        super::super::super::super::objects::attachments::api::Attachment,
318        conjure_http::private::Error,
319    >;
320    /// Get a set of attachments by their RIDs.
321    #[endpoint(
322        method = POST,
323        path = "/attachments/v1/attachments/batch",
324        name = "getBatch",
325        accept = conjure_http::client::StdResponseDeserializer
326    )]
327    async fn get_batch(
328        &self,
329        #[auth]
330        auth_: &conjure_object::BearerToken,
331        #[body(serializer = conjure_http::client::StdRequestSerializer)]
332        request: &super::super::super::super::objects::attachments::api::GetAttachmentsRequest,
333    ) -> Result<
334        super::super::super::super::objects::attachments::api::GetAttachmentsResponse,
335        conjure_http::private::Error,
336    >;
337    /// Get the binary content of an attachment.
338    #[endpoint(
339        method = GET,
340        path = "/attachments/v1/attachments/{rid}/content",
341        name = "getContent",
342        accept = conjure_http::client::conjure::BinaryResponseDeserializer
343    )]
344    async fn get_content(
345        &self,
346        #[auth]
347        auth_: &conjure_object::BearerToken,
348        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
349        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
350    ) -> Result<I, conjure_http::private::Error>;
351    /// Get a pre-signed URI to download an attachment. The link expires in 1 minute.
352    #[endpoint(
353        method = GET,
354        path = "/attachments/v1/attachments/{rid}/uri",
355        name = "getUri",
356        accept = conjure_http::client::StdResponseDeserializer
357    )]
358    async fn get_uri(
359        &self,
360        #[auth]
361        auth_: &conjure_object::BearerToken,
362        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
363        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
364    ) -> Result<
365        super::super::super::super::objects::attachments::api::AttachmentUri,
366        conjure_http::private::Error,
367    >;
368    /// Update an attachment. Only the fields that are set in the request will be updated.
369    #[endpoint(
370        method = PUT,
371        path = "/attachments/v1/attachments/{rid}",
372        name = "update",
373        accept = conjure_http::client::StdResponseDeserializer
374    )]
375    async fn update(
376        &self,
377        #[auth]
378        auth_: &conjure_object::BearerToken,
379        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
380        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
381        #[body(serializer = conjure_http::client::StdRequestSerializer)]
382        request: &super::super::super::super::objects::attachments::api::UpdateAttachmentRequest,
383    ) -> Result<
384        super::super::super::super::objects::attachments::api::Attachment,
385        conjure_http::private::Error,
386    >;
387    /// Archive an attachment.
388    #[endpoint(
389        method = PUT,
390        path = "/attachments/v1/attachments/{rid}/archive",
391        name = "archive",
392        accept = conjure_http::client::conjure::EmptyResponseDeserializer
393    )]
394    async fn archive(
395        &self,
396        #[auth]
397        auth_: &conjure_object::BearerToken,
398        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
399        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
400    ) -> Result<(), conjure_http::private::Error>;
401    /// Unarchive an attachment.
402    #[endpoint(
403        method = PUT,
404        path = "/attachments/v1/attachments/{rid}/unarchive",
405        name = "unarchive",
406        accept = conjure_http::client::conjure::EmptyResponseDeserializer
407    )]
408    async fn unarchive(
409        &self,
410        #[auth]
411        auth_: &conjure_object::BearerToken,
412        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
413        rid: &super::super::super::super::objects::api::rids::AttachmentRid,
414    ) -> Result<(), conjure_http::private::Error>;
415}