camunda_client/apis/
task_variable_api.rs

1/*
2 * Camunda BPM REST API
3 *
4 * OpenApi Spec for Camunda BPM REST API.
5 *
6 * The version of the OpenAPI document: 7.13.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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        // send request
55        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        // send request
76        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        // send request
93        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        // send request
113        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        // send request
131        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        // send request
150        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        // send request
176        let req = req_builder.build()?;
177
178        client.execute(req)?.error_for_status()?;
179        Ok(())
180    }
181
182}