camunda_client/apis/
task_attachment_api.rs1use std::rc::Rc;
12use std::borrow::Borrow;
13#[allow(unused_imports)]
14use std::option::Option;
15
16use reqwest;
17
18use super::{Error, configuration};
19
20pub struct TaskAttachmentApiClient {
21 configuration: Rc<configuration::Configuration>,
22}
23
24impl TaskAttachmentApiClient {
25 pub fn new(configuration: Rc<configuration::Configuration>) -> TaskAttachmentApiClient {
26 TaskAttachmentApiClient {
27 configuration,
28 }
29 }
30}
31
32pub trait TaskAttachmentApi {
33 fn add_attachment(&self, id: &str, attachment_name: Option<&str>, attachment_description: Option<&str>, attachment_type: Option<&str>, url: Option<&str>, content: Option<std::path::PathBuf>) -> Result<crate::models::AttachmentDto, Error>;
34 fn delete_attachment(&self, id: &str, attachment_id: &str) -> Result<(), Error>;
35 fn get_attachment(&self, id: &str, attachment_id: &str) -> Result<crate::models::AttachmentDto, Error>;
36 fn get_attachment_data(&self, id: &str, attachment_id: &str) -> Result<std::path::PathBuf, Error>;
37 fn get_attachments(&self, id: &str) -> Result<Vec<crate::models::AttachmentDto>, Error>;
38}
39
40impl TaskAttachmentApi for TaskAttachmentApiClient {
41 fn add_attachment(&self, id: &str, attachment_name: Option<&str>, attachment_description: Option<&str>, attachment_type: Option<&str>, url: Option<&str>, content: Option<std::path::PathBuf>) -> Result<crate::models::AttachmentDto, Error> {
42 let configuration: &configuration::Configuration = self.configuration.borrow();
43 let client = &configuration.client;
44
45 let uri_str = format!("{}/task/{id}/attachment/create", configuration.base_path, id=crate::apis::urlencode(id));
46 let mut req_builder = client.post(uri_str.as_str());
47
48 if let Some(ref user_agent) = configuration.user_agent {
49 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
50 }
51 let mut form = reqwest::multipart::Form::new();
52 if let Some(param_value) = attachment_name {
53 form = form.text("attachment-name", param_value.to_string());
54 }
55 if let Some(param_value) = attachment_description {
56 form = form.text("attachment-description", param_value.to_string());
57 }
58 if let Some(param_value) = attachment_type {
59 form = form.text("attachment-type", param_value.to_string());
60 }
61 if let Some(param_value) = url {
62 form = form.text("url", param_value.to_string());
63 }
64 if let Some(param_value) = content {
65 form = form.file("content", param_value)?;
66 }
67 req_builder = req_builder.multipart(form);
68
69 let req = req_builder.build()?;
71
72 Ok(client.execute(req)?.error_for_status()?.json()?)
73 }
74
75 fn delete_attachment(&self, id: &str, attachment_id: &str) -> Result<(), Error> {
76 let configuration: &configuration::Configuration = self.configuration.borrow();
77 let client = &configuration.client;
78
79 let uri_str = format!("{}/task/{id}/attachment/{attachmentId}", configuration.base_path, id=crate::apis::urlencode(id), attachmentId=crate::apis::urlencode(attachment_id));
80 let mut req_builder = client.delete(uri_str.as_str());
81
82 if let Some(ref user_agent) = configuration.user_agent {
83 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
84 }
85
86 let req = req_builder.build()?;
88
89 client.execute(req)?.error_for_status()?;
90 Ok(())
91 }
92
93 fn get_attachment(&self, id: &str, attachment_id: &str) -> Result<crate::models::AttachmentDto, Error> {
94 let configuration: &configuration::Configuration = self.configuration.borrow();
95 let client = &configuration.client;
96
97 let uri_str = format!("{}/task/{id}/attachment/{attachmentId}", configuration.base_path, id=crate::apis::urlencode(id), attachmentId=crate::apis::urlencode(attachment_id));
98 let mut req_builder = client.get(uri_str.as_str());
99
100 if let Some(ref user_agent) = configuration.user_agent {
101 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
102 }
103
104 let req = req_builder.build()?;
106
107 Ok(client.execute(req)?.error_for_status()?.json()?)
108 }
109
110 fn get_attachment_data(&self, id: &str, attachment_id: &str) -> Result<std::path::PathBuf, Error> {
111 let configuration: &configuration::Configuration = self.configuration.borrow();
112 let client = &configuration.client;
113
114 let uri_str = format!("{}/task/{id}/attachment/{attachmentId}/data", configuration.base_path, id=crate::apis::urlencode(id), attachmentId=crate::apis::urlencode(attachment_id));
115 let mut req_builder = client.get(uri_str.as_str());
116
117 if let Some(ref user_agent) = configuration.user_agent {
118 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
119 }
120
121 let req = req_builder.build()?;
123
124 Ok(client.execute(req)?.error_for_status()?.json()?)
125 }
126
127 fn get_attachments(&self, id: &str) -> Result<Vec<crate::models::AttachmentDto>, Error> {
128 let configuration: &configuration::Configuration = self.configuration.borrow();
129 let client = &configuration.client;
130
131 let uri_str = format!("{}/task/{id}/attachment", configuration.base_path, id=crate::apis::urlencode(id));
132 let mut req_builder = client.get(uri_str.as_str());
133
134 if let Some(ref user_agent) = configuration.user_agent {
135 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
136 }
137
138 let req = req_builder.build()?;
140
141 Ok(client.execute(req)?.error_for_status()?.json()?)
142 }
143
144}