camunda_client/apis/
process_instance_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 ProcessInstanceApiClient {
21    configuration: Rc<configuration::Configuration>,
22}
23
24impl ProcessInstanceApiClient {
25    pub fn new(configuration: Rc<configuration::Configuration>) -> ProcessInstanceApiClient {
26        ProcessInstanceApiClient {
27            configuration,
28        }
29    }
30}
31
32pub trait ProcessInstanceApi {
33    fn delete_async_historic_query_based(&self, delete_process_instances_dto: Option<crate::models::DeleteProcessInstancesDto>) -> Result<crate::models::BatchDto, Error>;
34    fn delete_process_instance(&self, id: &str, skip_custom_listeners: Option<bool>, skip_io_mappings: Option<bool>, skip_subprocesses: Option<bool>, fail_if_not_exists: Option<bool>) -> Result<(), Error>;
35    fn delete_process_instance_variable(&self, id: &str, var_name: &str) -> Result<(), Error>;
36    fn delete_process_instances_async_operation(&self, delete_process_instances_dto: Option<crate::models::DeleteProcessInstancesDto>) -> Result<crate::models::BatchDto, Error>;
37    fn get_activity_instance_tree(&self, id: &str) -> Result<crate::models::ActivityInstanceDto, Error>;
38    fn get_process_instance_variable(&self, id: &str, var_name: &str, deserialize_value: Option<bool>) -> Result<crate::models::VariableValueDto, Error>;
39    fn get_process_instance_variable_binary(&self, id: &str, var_name: &str) -> Result<std::path::PathBuf, Error>;
40    fn get_process_instance_variables(&self, id: &str, deserialize_value: Option<bool>) -> Result<::std::collections::HashMap<String, crate::models::VariableValueDto>, Error>;
41    fn get_process_instances(&self, sort_by: Option<&str>, sort_order: Option<&str>, first_result: Option<i32>, max_results: Option<i32>, process_instance_ids: Option<&str>, business_key: Option<&str>, business_key_like: Option<&str>, case_instance_id: Option<&str>, process_definition_id: Option<&str>, process_definition_key: Option<&str>, process_definition_key_in: Option<&str>, process_definition_key_not_in: Option<&str>, deployment_id: Option<&str>, super_process_instance: Option<&str>, sub_process_instance: Option<&str>, super_case_instance: Option<&str>, sub_case_instance: Option<&str>, active: Option<bool>, suspended: Option<bool>, with_incident: Option<bool>, incident_id: Option<&str>, incident_type: Option<&str>, incident_message: Option<&str>, incident_message_like: Option<&str>, tenant_id_in: Option<&str>, without_tenant_id: Option<bool>, process_definition_without_tenant_id: Option<bool>, activity_id_in: Option<&str>, root_process_instances: Option<bool>, leaf_process_instances: Option<bool>, variables: Option<&str>, variable_names_ignore_case: Option<bool>, variable_values_ignore_case: Option<bool>) -> Result<Vec<crate::models::ProcessInstanceDto>, Error>;
42    fn get_process_instances_count(&self, process_instance_ids: Option<&str>, business_key: Option<&str>, business_key_like: Option<&str>, case_instance_id: Option<&str>, process_definition_id: Option<&str>, process_definition_key: Option<&str>, process_definition_key_in: Option<&str>, process_definition_key_not_in: Option<&str>, deployment_id: Option<&str>, super_process_instance: Option<&str>, sub_process_instance: Option<&str>, super_case_instance: Option<&str>, sub_case_instance: Option<&str>, active: Option<bool>, suspended: Option<bool>, with_incident: Option<bool>, incident_id: Option<&str>, incident_type: Option<&str>, incident_message: Option<&str>, incident_message_like: Option<&str>, tenant_id_in: Option<&str>, without_tenant_id: Option<bool>, process_definition_without_tenant_id: Option<bool>, activity_id_in: Option<&str>, root_process_instances: Option<bool>, leaf_process_instances: Option<bool>, variables: Option<&str>, variable_names_ignore_case: Option<bool>, variable_values_ignore_case: Option<bool>) -> Result<crate::models::CountResultDto, Error>;
43    fn modify_process_instance(&self, id: &str, process_instance_modification_dto: Option<crate::models::ProcessInstanceModificationDto>) -> Result<(), Error>;
44    fn modify_process_instance_async_operation(&self, id: &str, process_instance_modification_dto: Option<crate::models::ProcessInstanceModificationDto>) -> Result<crate::models::BatchDto, Error>;
45    fn modify_process_instance_variables(&self, id: &str, patch_variables_dto: Option<crate::models::PatchVariablesDto>) -> Result<(), Error>;
46    fn query_process_instances(&self, first_result: Option<i32>, max_results: Option<i32>, process_instance_query_dto: Option<crate::models::ProcessInstanceQueryDto>) -> Result<Vec<crate::models::ProcessInstanceDto>, Error>;
47    fn query_process_instances_count(&self, process_instance_query_dto: Option<crate::models::ProcessInstanceQueryDto>) -> Result<crate::models::CountResultDto, Error>;
48    fn set_process_instance_variable(&self, id: &str, var_name: &str, variable_value_dto: Option<crate::models::VariableValueDto>) -> Result<(), Error>;
49    fn set_process_instance_variable_binary(&self, id: &str, var_name: &str, data: Option<std::path::PathBuf>, value_type: Option<&str>) -> Result<(), Error>;
50    fn set_retries_by_process(&self, set_job_retries_by_process_dto: Option<crate::models::SetJobRetriesByProcessDto>) -> Result<crate::models::BatchDto, Error>;
51    fn set_retries_by_process_historic_query_based(&self, set_job_retries_by_process_dto: Option<crate::models::SetJobRetriesByProcessDto>) -> Result<crate::models::BatchDto, Error>;
52    fn update_suspension_state(&self, process_instance_suspension_state_dto: Option<crate::models::ProcessInstanceSuspensionStateDto>) -> Result<(), Error>;
53    fn update_suspension_state_async_operation(&self, process_instance_suspension_state_async_dto: Option<crate::models::ProcessInstanceSuspensionStateAsyncDto>) -> Result<crate::models::BatchDto, Error>;
54    fn update_suspension_state_by_id(&self, id: &str, suspension_state_dto: Option<crate::models::SuspensionStateDto>) -> Result<(), Error>;
55}
56
57impl ProcessInstanceApi for ProcessInstanceApiClient {
58    fn delete_async_historic_query_based(&self, delete_process_instances_dto: Option<crate::models::DeleteProcessInstancesDto>) -> Result<crate::models::BatchDto, Error> {
59        let configuration: &configuration::Configuration = self.configuration.borrow();
60        let client = &configuration.client;
61
62        let uri_str = format!("{}/process-instance/delete-historic-query-based", configuration.base_path);
63        let mut req_builder = client.post(uri_str.as_str());
64
65        if let Some(ref user_agent) = configuration.user_agent {
66            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
67        }
68        req_builder = req_builder.json(&delete_process_instances_dto);
69
70        // send request
71        let req = req_builder.build()?;
72
73        Ok(client.execute(req)?.error_for_status()?.json()?)
74    }
75
76    fn delete_process_instance(&self, id: &str, skip_custom_listeners: Option<bool>, skip_io_mappings: Option<bool>, skip_subprocesses: Option<bool>, fail_if_not_exists: Option<bool>) -> Result<(), Error> {
77        let configuration: &configuration::Configuration = self.configuration.borrow();
78        let client = &configuration.client;
79
80        let uri_str = format!("{}/process-instance/{id}", configuration.base_path, id=crate::apis::urlencode(id));
81        let mut req_builder = client.delete(uri_str.as_str());
82
83        if let Some(ref s) = skip_custom_listeners {
84            req_builder = req_builder.query(&[("skipCustomListeners", &s.to_string())]);
85        }
86        if let Some(ref s) = skip_io_mappings {
87            req_builder = req_builder.query(&[("skipIoMappings", &s.to_string())]);
88        }
89        if let Some(ref s) = skip_subprocesses {
90            req_builder = req_builder.query(&[("skipSubprocesses", &s.to_string())]);
91        }
92        if let Some(ref s) = fail_if_not_exists {
93            req_builder = req_builder.query(&[("failIfNotExists", &s.to_string())]);
94        }
95        if let Some(ref user_agent) = configuration.user_agent {
96            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
97        }
98
99        // send request
100        let req = req_builder.build()?;
101
102        client.execute(req)?.error_for_status()?;
103        Ok(())
104    }
105
106    fn delete_process_instance_variable(&self, id: &str, var_name: &str) -> Result<(), Error> {
107        let configuration: &configuration::Configuration = self.configuration.borrow();
108        let client = &configuration.client;
109
110        let uri_str = format!("{}/process-instance/{id}/variables/{varName}", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
111        let mut req_builder = client.delete(uri_str.as_str());
112
113        if let Some(ref user_agent) = configuration.user_agent {
114            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
115        }
116
117        // send request
118        let req = req_builder.build()?;
119
120        client.execute(req)?.error_for_status()?;
121        Ok(())
122    }
123
124    fn delete_process_instances_async_operation(&self, delete_process_instances_dto: Option<crate::models::DeleteProcessInstancesDto>) -> Result<crate::models::BatchDto, Error> {
125        let configuration: &configuration::Configuration = self.configuration.borrow();
126        let client = &configuration.client;
127
128        let uri_str = format!("{}/process-instance/delete", configuration.base_path);
129        let mut req_builder = client.post(uri_str.as_str());
130
131        if let Some(ref user_agent) = configuration.user_agent {
132            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
133        }
134        req_builder = req_builder.json(&delete_process_instances_dto);
135
136        // send request
137        let req = req_builder.build()?;
138
139        Ok(client.execute(req)?.error_for_status()?.json()?)
140    }
141
142    fn get_activity_instance_tree(&self, id: &str) -> Result<crate::models::ActivityInstanceDto, Error> {
143        let configuration: &configuration::Configuration = self.configuration.borrow();
144        let client = &configuration.client;
145
146        let uri_str = format!("{}/process-instance/{id}/activity-instances", configuration.base_path, id=crate::apis::urlencode(id));
147        let mut req_builder = client.get(uri_str.as_str());
148
149        if let Some(ref user_agent) = configuration.user_agent {
150            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
151        }
152
153        // send request
154        let req = req_builder.build()?;
155
156        Ok(client.execute(req)?.error_for_status()?.json()?)
157    }
158
159    fn get_process_instance_variable(&self, id: &str, var_name: &str, deserialize_value: Option<bool>) -> Result<crate::models::VariableValueDto, Error> {
160        let configuration: &configuration::Configuration = self.configuration.borrow();
161        let client = &configuration.client;
162
163        let uri_str = format!("{}/process-instance/{id}/variables/{varName}", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
164        let mut req_builder = client.get(uri_str.as_str());
165
166        if let Some(ref s) = deserialize_value {
167            req_builder = req_builder.query(&[("deserializeValue", &s.to_string())]);
168        }
169        if let Some(ref user_agent) = configuration.user_agent {
170            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
171        }
172
173        // send request
174        let req = req_builder.build()?;
175
176        Ok(client.execute(req)?.error_for_status()?.json()?)
177    }
178
179    fn get_process_instance_variable_binary(&self, id: &str, var_name: &str) -> Result<std::path::PathBuf, Error> {
180        let configuration: &configuration::Configuration = self.configuration.borrow();
181        let client = &configuration.client;
182
183        let uri_str = format!("{}/process-instance/{id}/variables/{varName}/data", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
184        let mut req_builder = client.get(uri_str.as_str());
185
186        if let Some(ref user_agent) = configuration.user_agent {
187            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
188        }
189
190        // send request
191        let req = req_builder.build()?;
192
193        Ok(client.execute(req)?.error_for_status()?.json()?)
194    }
195
196    fn get_process_instance_variables(&self, id: &str, deserialize_value: Option<bool>) -> Result<::std::collections::HashMap<String, crate::models::VariableValueDto>, Error> {
197        let configuration: &configuration::Configuration = self.configuration.borrow();
198        let client = &configuration.client;
199
200        let uri_str = format!("{}/process-instance/{id}/variables", configuration.base_path, id=crate::apis::urlencode(id));
201        let mut req_builder = client.get(uri_str.as_str());
202
203        if let Some(ref s) = deserialize_value {
204            req_builder = req_builder.query(&[("deserializeValue", &s.to_string())]);
205        }
206        if let Some(ref user_agent) = configuration.user_agent {
207            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
208        }
209
210        // send request
211        let req = req_builder.build()?;
212
213        Ok(client.execute(req)?.error_for_status()?.json()?)
214    }
215
216    fn get_process_instances(&self, sort_by: Option<&str>, sort_order: Option<&str>, first_result: Option<i32>, max_results: Option<i32>, process_instance_ids: Option<&str>, business_key: Option<&str>, business_key_like: Option<&str>, case_instance_id: Option<&str>, process_definition_id: Option<&str>, process_definition_key: Option<&str>, process_definition_key_in: Option<&str>, process_definition_key_not_in: Option<&str>, deployment_id: Option<&str>, super_process_instance: Option<&str>, sub_process_instance: Option<&str>, super_case_instance: Option<&str>, sub_case_instance: Option<&str>, active: Option<bool>, suspended: Option<bool>, with_incident: Option<bool>, incident_id: Option<&str>, incident_type: Option<&str>, incident_message: Option<&str>, incident_message_like: Option<&str>, tenant_id_in: Option<&str>, without_tenant_id: Option<bool>, process_definition_without_tenant_id: Option<bool>, activity_id_in: Option<&str>, root_process_instances: Option<bool>, leaf_process_instances: Option<bool>, variables: Option<&str>, variable_names_ignore_case: Option<bool>, variable_values_ignore_case: Option<bool>) -> Result<Vec<crate::models::ProcessInstanceDto>, Error> {
217        let configuration: &configuration::Configuration = self.configuration.borrow();
218        let client = &configuration.client;
219
220        let uri_str = format!("{}/process-instance", configuration.base_path);
221        let mut req_builder = client.get(uri_str.as_str());
222
223        if let Some(ref s) = sort_by {
224            req_builder = req_builder.query(&[("sortBy", &s.to_string())]);
225        }
226        if let Some(ref s) = sort_order {
227            req_builder = req_builder.query(&[("sortOrder", &s.to_string())]);
228        }
229        if let Some(ref s) = first_result {
230            req_builder = req_builder.query(&[("firstResult", &s.to_string())]);
231        }
232        if let Some(ref s) = max_results {
233            req_builder = req_builder.query(&[("maxResults", &s.to_string())]);
234        }
235        if let Some(ref s) = process_instance_ids {
236            req_builder = req_builder.query(&[("processInstanceIds", &s.to_string())]);
237        }
238        if let Some(ref s) = business_key {
239            req_builder = req_builder.query(&[("businessKey", &s.to_string())]);
240        }
241        if let Some(ref s) = business_key_like {
242            req_builder = req_builder.query(&[("businessKeyLike", &s.to_string())]);
243        }
244        if let Some(ref s) = case_instance_id {
245            req_builder = req_builder.query(&[("caseInstanceId", &s.to_string())]);
246        }
247        if let Some(ref s) = process_definition_id {
248            req_builder = req_builder.query(&[("processDefinitionId", &s.to_string())]);
249        }
250        if let Some(ref s) = process_definition_key {
251            req_builder = req_builder.query(&[("processDefinitionKey", &s.to_string())]);
252        }
253        if let Some(ref s) = process_definition_key_in {
254            req_builder = req_builder.query(&[("processDefinitionKeyIn", &s.to_string())]);
255        }
256        if let Some(ref s) = process_definition_key_not_in {
257            req_builder = req_builder.query(&[("processDefinitionKeyNotIn", &s.to_string())]);
258        }
259        if let Some(ref s) = deployment_id {
260            req_builder = req_builder.query(&[("deploymentId", &s.to_string())]);
261        }
262        if let Some(ref s) = super_process_instance {
263            req_builder = req_builder.query(&[("superProcessInstance", &s.to_string())]);
264        }
265        if let Some(ref s) = sub_process_instance {
266            req_builder = req_builder.query(&[("subProcessInstance", &s.to_string())]);
267        }
268        if let Some(ref s) = super_case_instance {
269            req_builder = req_builder.query(&[("superCaseInstance", &s.to_string())]);
270        }
271        if let Some(ref s) = sub_case_instance {
272            req_builder = req_builder.query(&[("subCaseInstance", &s.to_string())]);
273        }
274        if let Some(ref s) = active {
275            req_builder = req_builder.query(&[("active", &s.to_string())]);
276        }
277        if let Some(ref s) = suspended {
278            req_builder = req_builder.query(&[("suspended", &s.to_string())]);
279        }
280        if let Some(ref s) = with_incident {
281            req_builder = req_builder.query(&[("withIncident", &s.to_string())]);
282        }
283        if let Some(ref s) = incident_id {
284            req_builder = req_builder.query(&[("incidentId", &s.to_string())]);
285        }
286        if let Some(ref s) = incident_type {
287            req_builder = req_builder.query(&[("incidentType", &s.to_string())]);
288        }
289        if let Some(ref s) = incident_message {
290            req_builder = req_builder.query(&[("incidentMessage", &s.to_string())]);
291        }
292        if let Some(ref s) = incident_message_like {
293            req_builder = req_builder.query(&[("incidentMessageLike", &s.to_string())]);
294        }
295        if let Some(ref s) = tenant_id_in {
296            req_builder = req_builder.query(&[("tenantIdIn", &s.to_string())]);
297        }
298        if let Some(ref s) = without_tenant_id {
299            req_builder = req_builder.query(&[("withoutTenantId", &s.to_string())]);
300        }
301        if let Some(ref s) = process_definition_without_tenant_id {
302            req_builder = req_builder.query(&[("processDefinitionWithoutTenantId", &s.to_string())]);
303        }
304        if let Some(ref s) = activity_id_in {
305            req_builder = req_builder.query(&[("activityIdIn", &s.to_string())]);
306        }
307        if let Some(ref s) = root_process_instances {
308            req_builder = req_builder.query(&[("rootProcessInstances", &s.to_string())]);
309        }
310        if let Some(ref s) = leaf_process_instances {
311            req_builder = req_builder.query(&[("leafProcessInstances", &s.to_string())]);
312        }
313        if let Some(ref s) = variables {
314            req_builder = req_builder.query(&[("variables", &s.to_string())]);
315        }
316        if let Some(ref s) = variable_names_ignore_case {
317            req_builder = req_builder.query(&[("variableNamesIgnoreCase", &s.to_string())]);
318        }
319        if let Some(ref s) = variable_values_ignore_case {
320            req_builder = req_builder.query(&[("variableValuesIgnoreCase", &s.to_string())]);
321        }
322        if let Some(ref user_agent) = configuration.user_agent {
323            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
324        }
325
326        // send request
327        let req = req_builder.build()?;
328
329        Ok(client.execute(req)?.error_for_status()?.json()?)
330    }
331
332    fn get_process_instances_count(&self, process_instance_ids: Option<&str>, business_key: Option<&str>, business_key_like: Option<&str>, case_instance_id: Option<&str>, process_definition_id: Option<&str>, process_definition_key: Option<&str>, process_definition_key_in: Option<&str>, process_definition_key_not_in: Option<&str>, deployment_id: Option<&str>, super_process_instance: Option<&str>, sub_process_instance: Option<&str>, super_case_instance: Option<&str>, sub_case_instance: Option<&str>, active: Option<bool>, suspended: Option<bool>, with_incident: Option<bool>, incident_id: Option<&str>, incident_type: Option<&str>, incident_message: Option<&str>, incident_message_like: Option<&str>, tenant_id_in: Option<&str>, without_tenant_id: Option<bool>, process_definition_without_tenant_id: Option<bool>, activity_id_in: Option<&str>, root_process_instances: Option<bool>, leaf_process_instances: Option<bool>, variables: Option<&str>, variable_names_ignore_case: Option<bool>, variable_values_ignore_case: Option<bool>) -> Result<crate::models::CountResultDto, Error> {
333        let configuration: &configuration::Configuration = self.configuration.borrow();
334        let client = &configuration.client;
335
336        let uri_str = format!("{}/process-instance/count", configuration.base_path);
337        let mut req_builder = client.get(uri_str.as_str());
338
339        if let Some(ref s) = process_instance_ids {
340            req_builder = req_builder.query(&[("processInstanceIds", &s.to_string())]);
341        }
342        if let Some(ref s) = business_key {
343            req_builder = req_builder.query(&[("businessKey", &s.to_string())]);
344        }
345        if let Some(ref s) = business_key_like {
346            req_builder = req_builder.query(&[("businessKeyLike", &s.to_string())]);
347        }
348        if let Some(ref s) = case_instance_id {
349            req_builder = req_builder.query(&[("caseInstanceId", &s.to_string())]);
350        }
351        if let Some(ref s) = process_definition_id {
352            req_builder = req_builder.query(&[("processDefinitionId", &s.to_string())]);
353        }
354        if let Some(ref s) = process_definition_key {
355            req_builder = req_builder.query(&[("processDefinitionKey", &s.to_string())]);
356        }
357        if let Some(ref s) = process_definition_key_in {
358            req_builder = req_builder.query(&[("processDefinitionKeyIn", &s.to_string())]);
359        }
360        if let Some(ref s) = process_definition_key_not_in {
361            req_builder = req_builder.query(&[("processDefinitionKeyNotIn", &s.to_string())]);
362        }
363        if let Some(ref s) = deployment_id {
364            req_builder = req_builder.query(&[("deploymentId", &s.to_string())]);
365        }
366        if let Some(ref s) = super_process_instance {
367            req_builder = req_builder.query(&[("superProcessInstance", &s.to_string())]);
368        }
369        if let Some(ref s) = sub_process_instance {
370            req_builder = req_builder.query(&[("subProcessInstance", &s.to_string())]);
371        }
372        if let Some(ref s) = super_case_instance {
373            req_builder = req_builder.query(&[("superCaseInstance", &s.to_string())]);
374        }
375        if let Some(ref s) = sub_case_instance {
376            req_builder = req_builder.query(&[("subCaseInstance", &s.to_string())]);
377        }
378        if let Some(ref s) = active {
379            req_builder = req_builder.query(&[("active", &s.to_string())]);
380        }
381        if let Some(ref s) = suspended {
382            req_builder = req_builder.query(&[("suspended", &s.to_string())]);
383        }
384        if let Some(ref s) = with_incident {
385            req_builder = req_builder.query(&[("withIncident", &s.to_string())]);
386        }
387        if let Some(ref s) = incident_id {
388            req_builder = req_builder.query(&[("incidentId", &s.to_string())]);
389        }
390        if let Some(ref s) = incident_type {
391            req_builder = req_builder.query(&[("incidentType", &s.to_string())]);
392        }
393        if let Some(ref s) = incident_message {
394            req_builder = req_builder.query(&[("incidentMessage", &s.to_string())]);
395        }
396        if let Some(ref s) = incident_message_like {
397            req_builder = req_builder.query(&[("incidentMessageLike", &s.to_string())]);
398        }
399        if let Some(ref s) = tenant_id_in {
400            req_builder = req_builder.query(&[("tenantIdIn", &s.to_string())]);
401        }
402        if let Some(ref s) = without_tenant_id {
403            req_builder = req_builder.query(&[("withoutTenantId", &s.to_string())]);
404        }
405        if let Some(ref s) = process_definition_without_tenant_id {
406            req_builder = req_builder.query(&[("processDefinitionWithoutTenantId", &s.to_string())]);
407        }
408        if let Some(ref s) = activity_id_in {
409            req_builder = req_builder.query(&[("activityIdIn", &s.to_string())]);
410        }
411        if let Some(ref s) = root_process_instances {
412            req_builder = req_builder.query(&[("rootProcessInstances", &s.to_string())]);
413        }
414        if let Some(ref s) = leaf_process_instances {
415            req_builder = req_builder.query(&[("leafProcessInstances", &s.to_string())]);
416        }
417        if let Some(ref s) = variables {
418            req_builder = req_builder.query(&[("variables", &s.to_string())]);
419        }
420        if let Some(ref s) = variable_names_ignore_case {
421            req_builder = req_builder.query(&[("variableNamesIgnoreCase", &s.to_string())]);
422        }
423        if let Some(ref s) = variable_values_ignore_case {
424            req_builder = req_builder.query(&[("variableValuesIgnoreCase", &s.to_string())]);
425        }
426        if let Some(ref user_agent) = configuration.user_agent {
427            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
428        }
429
430        // send request
431        let req = req_builder.build()?;
432
433        Ok(client.execute(req)?.error_for_status()?.json()?)
434    }
435
436    fn modify_process_instance(&self, id: &str, process_instance_modification_dto: Option<crate::models::ProcessInstanceModificationDto>) -> Result<(), Error> {
437        let configuration: &configuration::Configuration = self.configuration.borrow();
438        let client = &configuration.client;
439
440        let uri_str = format!("{}/process-instance/{id}/modification", configuration.base_path, id=crate::apis::urlencode(id));
441        let mut req_builder = client.post(uri_str.as_str());
442
443        if let Some(ref user_agent) = configuration.user_agent {
444            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
445        }
446        req_builder = req_builder.json(&process_instance_modification_dto);
447
448        // send request
449        let req = req_builder.build()?;
450
451        client.execute(req)?.error_for_status()?;
452        Ok(())
453    }
454
455    fn modify_process_instance_async_operation(&self, id: &str, process_instance_modification_dto: Option<crate::models::ProcessInstanceModificationDto>) -> Result<crate::models::BatchDto, Error> {
456        let configuration: &configuration::Configuration = self.configuration.borrow();
457        let client = &configuration.client;
458
459        let uri_str = format!("{}/process-instance/{id}/modification-async", configuration.base_path, id=crate::apis::urlencode(id));
460        let mut req_builder = client.post(uri_str.as_str());
461
462        if let Some(ref user_agent) = configuration.user_agent {
463            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
464        }
465        req_builder = req_builder.json(&process_instance_modification_dto);
466
467        // send request
468        let req = req_builder.build()?;
469
470        Ok(client.execute(req)?.error_for_status()?.json()?)
471    }
472
473    fn modify_process_instance_variables(&self, id: &str, patch_variables_dto: Option<crate::models::PatchVariablesDto>) -> Result<(), Error> {
474        let configuration: &configuration::Configuration = self.configuration.borrow();
475        let client = &configuration.client;
476
477        let uri_str = format!("{}/process-instance/{id}/variables", configuration.base_path, id=crate::apis::urlencode(id));
478        let mut req_builder = client.post(uri_str.as_str());
479
480        if let Some(ref user_agent) = configuration.user_agent {
481            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
482        }
483        req_builder = req_builder.json(&patch_variables_dto);
484
485        // send request
486        let req = req_builder.build()?;
487
488        client.execute(req)?.error_for_status()?;
489        Ok(())
490    }
491
492    fn query_process_instances(&self, first_result: Option<i32>, max_results: Option<i32>, process_instance_query_dto: Option<crate::models::ProcessInstanceQueryDto>) -> Result<Vec<crate::models::ProcessInstanceDto>, Error> {
493        let configuration: &configuration::Configuration = self.configuration.borrow();
494        let client = &configuration.client;
495
496        let uri_str = format!("{}/process-instance", configuration.base_path);
497        let mut req_builder = client.post(uri_str.as_str());
498
499        if let Some(ref s) = first_result {
500            req_builder = req_builder.query(&[("firstResult", &s.to_string())]);
501        }
502        if let Some(ref s) = max_results {
503            req_builder = req_builder.query(&[("maxResults", &s.to_string())]);
504        }
505        if let Some(ref user_agent) = configuration.user_agent {
506            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
507        }
508        req_builder = req_builder.json(&process_instance_query_dto);
509
510        // send request
511        let req = req_builder.build()?;
512
513        Ok(client.execute(req)?.error_for_status()?.json()?)
514    }
515
516    fn query_process_instances_count(&self, process_instance_query_dto: Option<crate::models::ProcessInstanceQueryDto>) -> Result<crate::models::CountResultDto, Error> {
517        let configuration: &configuration::Configuration = self.configuration.borrow();
518        let client = &configuration.client;
519
520        let uri_str = format!("{}/process-instance/count", configuration.base_path);
521        let mut req_builder = client.post(uri_str.as_str());
522
523        if let Some(ref user_agent) = configuration.user_agent {
524            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
525        }
526        req_builder = req_builder.json(&process_instance_query_dto);
527
528        // send request
529        let req = req_builder.build()?;
530
531        Ok(client.execute(req)?.error_for_status()?.json()?)
532    }
533
534    fn set_process_instance_variable(&self, id: &str, var_name: &str, variable_value_dto: Option<crate::models::VariableValueDto>) -> Result<(), Error> {
535        let configuration: &configuration::Configuration = self.configuration.borrow();
536        let client = &configuration.client;
537
538        let uri_str = format!("{}/process-instance/{id}/variables/{varName}", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
539        let mut req_builder = client.put(uri_str.as_str());
540
541        if let Some(ref user_agent) = configuration.user_agent {
542            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
543        }
544        req_builder = req_builder.json(&variable_value_dto);
545
546        // send request
547        let req = req_builder.build()?;
548
549        client.execute(req)?.error_for_status()?;
550        Ok(())
551    }
552
553    fn set_process_instance_variable_binary(&self, id: &str, var_name: &str, data: Option<std::path::PathBuf>, value_type: Option<&str>) -> Result<(), Error> {
554        let configuration: &configuration::Configuration = self.configuration.borrow();
555        let client = &configuration.client;
556
557        let uri_str = format!("{}/process-instance/{id}/variables/{varName}/data", configuration.base_path, id=crate::apis::urlencode(id), varName=crate::apis::urlencode(var_name));
558        let mut req_builder = client.post(uri_str.as_str());
559
560        if let Some(ref user_agent) = configuration.user_agent {
561            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
562        }
563        let mut form = reqwest::multipart::Form::new();
564        if let Some(param_value) = data {
565            form = form.file("data", param_value)?;
566        }
567        if let Some(param_value) = value_type {
568            form = form.text("valueType", param_value.to_string());
569        }
570        req_builder = req_builder.multipart(form);
571
572        // send request
573        let req = req_builder.build()?;
574
575        client.execute(req)?.error_for_status()?;
576        Ok(())
577    }
578
579    fn set_retries_by_process(&self, set_job_retries_by_process_dto: Option<crate::models::SetJobRetriesByProcessDto>) -> Result<crate::models::BatchDto, Error> {
580        let configuration: &configuration::Configuration = self.configuration.borrow();
581        let client = &configuration.client;
582
583        let uri_str = format!("{}/process-instance/job-retries", configuration.base_path);
584        let mut req_builder = client.post(uri_str.as_str());
585
586        if let Some(ref user_agent) = configuration.user_agent {
587            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
588        }
589        req_builder = req_builder.json(&set_job_retries_by_process_dto);
590
591        // send request
592        let req = req_builder.build()?;
593
594        Ok(client.execute(req)?.error_for_status()?.json()?)
595    }
596
597    fn set_retries_by_process_historic_query_based(&self, set_job_retries_by_process_dto: Option<crate::models::SetJobRetriesByProcessDto>) -> Result<crate::models::BatchDto, Error> {
598        let configuration: &configuration::Configuration = self.configuration.borrow();
599        let client = &configuration.client;
600
601        let uri_str = format!("{}/process-instance/job-retries-historic-query-based", configuration.base_path);
602        let mut req_builder = client.post(uri_str.as_str());
603
604        if let Some(ref user_agent) = configuration.user_agent {
605            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
606        }
607        req_builder = req_builder.json(&set_job_retries_by_process_dto);
608
609        // send request
610        let req = req_builder.build()?;
611
612        Ok(client.execute(req)?.error_for_status()?.json()?)
613    }
614
615    fn update_suspension_state(&self, process_instance_suspension_state_dto: Option<crate::models::ProcessInstanceSuspensionStateDto>) -> Result<(), Error> {
616        let configuration: &configuration::Configuration = self.configuration.borrow();
617        let client = &configuration.client;
618
619        let uri_str = format!("{}/process-instance/suspended", configuration.base_path);
620        let mut req_builder = client.put(uri_str.as_str());
621
622        if let Some(ref user_agent) = configuration.user_agent {
623            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
624        }
625        req_builder = req_builder.json(&process_instance_suspension_state_dto);
626
627        // send request
628        let req = req_builder.build()?;
629
630        client.execute(req)?.error_for_status()?;
631        Ok(())
632    }
633
634    fn update_suspension_state_async_operation(&self, process_instance_suspension_state_async_dto: Option<crate::models::ProcessInstanceSuspensionStateAsyncDto>) -> Result<crate::models::BatchDto, Error> {
635        let configuration: &configuration::Configuration = self.configuration.borrow();
636        let client = &configuration.client;
637
638        let uri_str = format!("{}/process-instance/suspended-async", configuration.base_path);
639        let mut req_builder = client.post(uri_str.as_str());
640
641        if let Some(ref user_agent) = configuration.user_agent {
642            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
643        }
644        req_builder = req_builder.json(&process_instance_suspension_state_async_dto);
645
646        // send request
647        let req = req_builder.build()?;
648
649        Ok(client.execute(req)?.error_for_status()?.json()?)
650    }
651
652    fn update_suspension_state_by_id(&self, id: &str, suspension_state_dto: Option<crate::models::SuspensionStateDto>) -> Result<(), Error> {
653        let configuration: &configuration::Configuration = self.configuration.borrow();
654        let client = &configuration.client;
655
656        let uri_str = format!("{}/process-instance/{id}/suspended", configuration.base_path, id=crate::apis::urlencode(id));
657        let mut req_builder = client.put(uri_str.as_str());
658
659        if let Some(ref user_agent) = configuration.user_agent {
660            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
661        }
662        req_builder = req_builder.json(&suspension_state_dto);
663
664        // send request
665        let req = req_builder.build()?;
666
667        client.execute(req)?.error_for_status()?;
668        Ok(())
669    }
670
671}