camunda_client/apis/
task_variable_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 TaskVariableApiClient {
21 configuration: Rc<configuration::Configuration>,
22}
23
24impl TaskVariableApiClient {
25 pub fn new(configuration: Rc<configuration::Configuration>) -> TaskVariableApiClient {
26 TaskVariableApiClient {
27 configuration,
28 }
29 }
30}
31
32pub trait TaskVariableApi {
33 fn delete_task_variable(&self, id: &str, var_name: &str) -> Result<(), Error>;
34 fn get_task_variable(&self, id: &str, var_name: &str, deserialize_value: Option<bool>) -> Result<crate::models::VariableValueDto, Error>;
35 fn get_task_variable_binary(&self, id: &str, var_name: &str) -> Result<std::path::PathBuf, Error>;
36 fn get_task_variables(&self, id: &str, deserialize_value: Option<bool>) -> Result<::std::collections::HashMap<String, crate::models::VariableValueDto>, Error>;
37 fn modify_task_variables(&self, id: &str, patch_variables_dto: Option<crate::models::PatchVariablesDto>) -> Result<(), Error>;
38 fn put_task_variable(&self, id: &str, var_name: &str, variable_value_dto: Option<crate::models::VariableValueDto>) -> Result<(), Error>;
39 fn set_binary_task_variable(&self, id: &str, var_name: &str, data: Option<std::path::PathBuf>, value_type: Option<&str>) -> Result<(), Error>;
40}
41
42impl TaskVariableApi for TaskVariableApiClient {
43 fn delete_task_variable(&self, id: &str, var_name: &str) -> Result<(), Error> {
44 let configuration: &configuration::Configuration = self.configuration.borrow();
45 let client = &configuration.client;
46
47 let uri_str = format!("{}/task/{id}/variables/{varName}", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
48 let mut req_builder = client.delete(uri_str.as_str());
49
50 if let Some(ref user_agent) = configuration.user_agent {
51 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
52 }
53
54 let req = req_builder.build()?;
56
57 client.execute(req)?.error_for_status()?;
58 Ok(())
59 }
60
61 fn get_task_variable(&self, id: &str, var_name: &str, deserialize_value: Option<bool>) -> Result<crate::models::VariableValueDto, Error> {
62 let configuration: &configuration::Configuration = self.configuration.borrow();
63 let client = &configuration.client;
64
65 let uri_str = format!("{}/task/{id}/variables/{varName}", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
66 let mut req_builder = client.get(uri_str.as_str());
67
68 if let Some(ref s) = deserialize_value {
69 req_builder = req_builder.query(&[("deserializeValue", &s.to_string())]);
70 }
71 if let Some(ref user_agent) = configuration.user_agent {
72 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
73 }
74
75 let req = req_builder.build()?;
77
78 Ok(client.execute(req)?.error_for_status()?.json()?)
79 }
80
81 fn get_task_variable_binary(&self, id: &str, var_name: &str) -> Result<std::path::PathBuf, Error> {
82 let configuration: &configuration::Configuration = self.configuration.borrow();
83 let client = &configuration.client;
84
85 let uri_str = format!("{}/task/{id}/variables/{varName}/data", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
86 let mut req_builder = client.get(uri_str.as_str());
87
88 if let Some(ref user_agent) = configuration.user_agent {
89 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
90 }
91
92 let req = req_builder.build()?;
94
95 Ok(client.execute(req)?.error_for_status()?.json()?)
96 }
97
98 fn get_task_variables(&self, id: &str, deserialize_value: Option<bool>) -> Result<::std::collections::HashMap<String, crate::models::VariableValueDto>, Error> {
99 let configuration: &configuration::Configuration = self.configuration.borrow();
100 let client = &configuration.client;
101
102 let uri_str = format!("{}/task/{id}/variables", configuration.base_path, id=crate::apis::urlencode(id));
103 let mut req_builder = client.get(uri_str.as_str());
104
105 if let Some(ref s) = deserialize_value {
106 req_builder = req_builder.query(&[("deserializeValue", &s.to_string())]);
107 }
108 if let Some(ref user_agent) = configuration.user_agent {
109 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
110 }
111
112 let req = req_builder.build()?;
114
115 Ok(client.execute(req)?.error_for_status()?.json()?)
116 }
117
118 fn modify_task_variables(&self, id: &str, patch_variables_dto: Option<crate::models::PatchVariablesDto>) -> Result<(), Error> {
119 let configuration: &configuration::Configuration = self.configuration.borrow();
120 let client = &configuration.client;
121
122 let uri_str = format!("{}/task/{id}/variables", configuration.base_path, id=crate::apis::urlencode(id));
123 let mut req_builder = client.post(uri_str.as_str());
124
125 if let Some(ref user_agent) = configuration.user_agent {
126 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
127 }
128 req_builder = req_builder.json(&patch_variables_dto);
129
130 let req = req_builder.build()?;
132
133 client.execute(req)?.error_for_status()?;
134 Ok(())
135 }
136
137 fn put_task_variable(&self, id: &str, var_name: &str, variable_value_dto: Option<crate::models::VariableValueDto>) -> Result<(), Error> {
138 let configuration: &configuration::Configuration = self.configuration.borrow();
139 let client = &configuration.client;
140
141 let uri_str = format!("{}/task/{id}/variables/{varName}", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
142 let mut req_builder = client.put(uri_str.as_str());
143
144 if let Some(ref user_agent) = configuration.user_agent {
145 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
146 }
147 req_builder = req_builder.json(&variable_value_dto);
148
149 let req = req_builder.build()?;
151
152 client.execute(req)?.error_for_status()?;
153 Ok(())
154 }
155
156 fn set_binary_task_variable(&self, id: &str, var_name: &str, data: Option<std::path::PathBuf>, value_type: Option<&str>) -> Result<(), Error> {
157 let configuration: &configuration::Configuration = self.configuration.borrow();
158 let client = &configuration.client;
159
160 let uri_str = format!("{}/task/{id}/variables/{varName}/data", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
161 let mut req_builder = client.post(uri_str.as_str());
162
163 if let Some(ref user_agent) = configuration.user_agent {
164 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
165 }
166 let mut form = reqwest::multipart::Form::new();
167 if let Some(param_value) = data {
168 form = form.file("data", param_value)?;
169 }
170 if let Some(param_value) = value_type {
171 form = form.text("valueType", param_value.to_string());
172 }
173 req_builder = req_builder.multipart(form);
174
175 let req = req_builder.build()?;
177
178 client.execute(req)?.error_for_status()?;
179 Ok(())
180 }
181
182}