authentik_rust/apis/
flows_api.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2024.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`flows_bindings_create`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum FlowsBindingsCreateError {
22    Status400(models::ValidationError),
23    Status403(models::GenericError),
24    UnknownValue(serde_json::Value),
25}
26
27/// struct for typed errors of method [`flows_bindings_destroy`]
28#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum FlowsBindingsDestroyError {
31    Status400(models::ValidationError),
32    Status403(models::GenericError),
33    UnknownValue(serde_json::Value),
34}
35
36/// struct for typed errors of method [`flows_bindings_list`]
37#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(untagged)]
39pub enum FlowsBindingsListError {
40    Status400(models::ValidationError),
41    Status403(models::GenericError),
42    UnknownValue(serde_json::Value),
43}
44
45/// struct for typed errors of method [`flows_bindings_partial_update`]
46#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum FlowsBindingsPartialUpdateError {
49    Status400(models::ValidationError),
50    Status403(models::GenericError),
51    UnknownValue(serde_json::Value),
52}
53
54/// struct for typed errors of method [`flows_bindings_retrieve`]
55#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(untagged)]
57pub enum FlowsBindingsRetrieveError {
58    Status400(models::ValidationError),
59    Status403(models::GenericError),
60    UnknownValue(serde_json::Value),
61}
62
63/// struct for typed errors of method [`flows_bindings_update`]
64#[derive(Debug, Clone, Serialize, Deserialize)]
65#[serde(untagged)]
66pub enum FlowsBindingsUpdateError {
67    Status400(models::ValidationError),
68    Status403(models::GenericError),
69    UnknownValue(serde_json::Value),
70}
71
72/// struct for typed errors of method [`flows_bindings_used_by_list`]
73#[derive(Debug, Clone, Serialize, Deserialize)]
74#[serde(untagged)]
75pub enum FlowsBindingsUsedByListError {
76    Status400(models::ValidationError),
77    Status403(models::GenericError),
78    UnknownValue(serde_json::Value),
79}
80
81/// struct for typed errors of method [`flows_executor_get`]
82#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum FlowsExecutorGetError {
85    Status400(models::ValidationError),
86    Status403(models::GenericError),
87    UnknownValue(serde_json::Value),
88}
89
90/// struct for typed errors of method [`flows_executor_solve`]
91#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum FlowsExecutorSolveError {
94    Status400(models::ValidationError),
95    Status403(models::GenericError),
96    UnknownValue(serde_json::Value),
97}
98
99/// struct for typed errors of method [`flows_inspector_get`]
100#[derive(Debug, Clone, Serialize, Deserialize)]
101#[serde(untagged)]
102pub enum FlowsInspectorGetError {
103    Status400(),
104    Status403(models::GenericError),
105    UnknownValue(serde_json::Value),
106}
107
108/// struct for typed errors of method [`flows_instances_cache_clear_create`]
109#[derive(Debug, Clone, Serialize, Deserialize)]
110#[serde(untagged)]
111pub enum FlowsInstancesCacheClearCreateError {
112    Status400(),
113    Status403(models::GenericError),
114    UnknownValue(serde_json::Value),
115}
116
117/// struct for typed errors of method [`flows_instances_cache_info_retrieve`]
118#[derive(Debug, Clone, Serialize, Deserialize)]
119#[serde(untagged)]
120pub enum FlowsInstancesCacheInfoRetrieveError {
121    Status400(models::ValidationError),
122    Status403(models::GenericError),
123    UnknownValue(serde_json::Value),
124}
125
126/// struct for typed errors of method [`flows_instances_create`]
127#[derive(Debug, Clone, Serialize, Deserialize)]
128#[serde(untagged)]
129pub enum FlowsInstancesCreateError {
130    Status400(models::ValidationError),
131    Status403(models::GenericError),
132    UnknownValue(serde_json::Value),
133}
134
135/// struct for typed errors of method [`flows_instances_destroy`]
136#[derive(Debug, Clone, Serialize, Deserialize)]
137#[serde(untagged)]
138pub enum FlowsInstancesDestroyError {
139    Status400(models::ValidationError),
140    Status403(models::GenericError),
141    UnknownValue(serde_json::Value),
142}
143
144/// struct for typed errors of method [`flows_instances_diagram_retrieve`]
145#[derive(Debug, Clone, Serialize, Deserialize)]
146#[serde(untagged)]
147pub enum FlowsInstancesDiagramRetrieveError {
148    Status400(models::ValidationError),
149    Status403(models::GenericError),
150    UnknownValue(serde_json::Value),
151}
152
153/// struct for typed errors of method [`flows_instances_execute_retrieve`]
154#[derive(Debug, Clone, Serialize, Deserialize)]
155#[serde(untagged)]
156pub enum FlowsInstancesExecuteRetrieveError {
157    Status400(),
158    Status403(models::GenericError),
159    UnknownValue(serde_json::Value),
160}
161
162/// struct for typed errors of method [`flows_instances_export_retrieve`]
163#[derive(Debug, Clone, Serialize, Deserialize)]
164#[serde(untagged)]
165pub enum FlowsInstancesExportRetrieveError {
166    Status400(models::ValidationError),
167    Status403(models::GenericError),
168    UnknownValue(serde_json::Value),
169}
170
171/// struct for typed errors of method [`flows_instances_import_create`]
172#[derive(Debug, Clone, Serialize, Deserialize)]
173#[serde(untagged)]
174pub enum FlowsInstancesImportCreateError {
175    Status400(models::FlowImportResult),
176    Status403(models::GenericError),
177    UnknownValue(serde_json::Value),
178}
179
180/// struct for typed errors of method [`flows_instances_list`]
181#[derive(Debug, Clone, Serialize, Deserialize)]
182#[serde(untagged)]
183pub enum FlowsInstancesListError {
184    Status400(models::ValidationError),
185    Status403(models::GenericError),
186    UnknownValue(serde_json::Value),
187}
188
189/// struct for typed errors of method [`flows_instances_partial_update`]
190#[derive(Debug, Clone, Serialize, Deserialize)]
191#[serde(untagged)]
192pub enum FlowsInstancesPartialUpdateError {
193    Status400(models::ValidationError),
194    Status403(models::GenericError),
195    UnknownValue(serde_json::Value),
196}
197
198/// struct for typed errors of method [`flows_instances_retrieve`]
199#[derive(Debug, Clone, Serialize, Deserialize)]
200#[serde(untagged)]
201pub enum FlowsInstancesRetrieveError {
202    Status400(models::ValidationError),
203    Status403(models::GenericError),
204    UnknownValue(serde_json::Value),
205}
206
207/// struct for typed errors of method [`flows_instances_set_background_create`]
208#[derive(Debug, Clone, Serialize, Deserialize)]
209#[serde(untagged)]
210pub enum FlowsInstancesSetBackgroundCreateError {
211    Status400(),
212    Status403(models::GenericError),
213    UnknownValue(serde_json::Value),
214}
215
216/// struct for typed errors of method [`flows_instances_set_background_url_create`]
217#[derive(Debug, Clone, Serialize, Deserialize)]
218#[serde(untagged)]
219pub enum FlowsInstancesSetBackgroundUrlCreateError {
220    Status400(),
221    Status403(models::GenericError),
222    UnknownValue(serde_json::Value),
223}
224
225/// struct for typed errors of method [`flows_instances_update`]
226#[derive(Debug, Clone, Serialize, Deserialize)]
227#[serde(untagged)]
228pub enum FlowsInstancesUpdateError {
229    Status400(models::ValidationError),
230    Status403(models::GenericError),
231    UnknownValue(serde_json::Value),
232}
233
234/// struct for typed errors of method [`flows_instances_used_by_list`]
235#[derive(Debug, Clone, Serialize, Deserialize)]
236#[serde(untagged)]
237pub enum FlowsInstancesUsedByListError {
238    Status400(models::ValidationError),
239    Status403(models::GenericError),
240    UnknownValue(serde_json::Value),
241}
242
243
244/// FlowStageBinding Viewset
245pub async fn flows_bindings_create(configuration: &configuration::Configuration, flow_stage_binding_request: models::FlowStageBindingRequest) -> Result<models::FlowStageBinding, Error<FlowsBindingsCreateError>> {
246    let local_var_configuration = configuration;
247
248    let local_var_client = &local_var_configuration.client;
249
250    let local_var_uri_str = format!("{}/flows/bindings/", local_var_configuration.base_path);
251    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
252
253    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
254        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
255    }
256    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
257        let local_var_key = local_var_apikey.key.clone();
258        let local_var_value = match local_var_apikey.prefix {
259            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
260            None => local_var_key,
261        };
262        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
263    };
264    local_var_req_builder = local_var_req_builder.json(&flow_stage_binding_request);
265
266    let local_var_req = local_var_req_builder.build()?;
267    let local_var_resp = local_var_client.execute(local_var_req).await?;
268
269    let local_var_status = local_var_resp.status();
270    let local_var_content = local_var_resp.text().await?;
271
272    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
273        serde_json::from_str(&local_var_content).map_err(Error::from)
274    } else {
275        let local_var_entity: Option<FlowsBindingsCreateError> = serde_json::from_str(&local_var_content).ok();
276        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
277        Err(Error::ResponseError(local_var_error))
278    }
279}
280
281/// FlowStageBinding Viewset
282pub async fn flows_bindings_destroy(configuration: &configuration::Configuration, fsb_uuid: &str) -> Result<(), Error<FlowsBindingsDestroyError>> {
283    let local_var_configuration = configuration;
284
285    let local_var_client = &local_var_configuration.client;
286
287    let local_var_uri_str = format!("{}/flows/bindings/{fsb_uuid}/", local_var_configuration.base_path, fsb_uuid=crate::apis::urlencode(fsb_uuid));
288    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
289
290    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
291        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
292    }
293    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
294        let local_var_key = local_var_apikey.key.clone();
295        let local_var_value = match local_var_apikey.prefix {
296            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
297            None => local_var_key,
298        };
299        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
300    };
301
302    let local_var_req = local_var_req_builder.build()?;
303    let local_var_resp = local_var_client.execute(local_var_req).await?;
304
305    let local_var_status = local_var_resp.status();
306    let local_var_content = local_var_resp.text().await?;
307
308    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
309        Ok(())
310    } else {
311        let local_var_entity: Option<FlowsBindingsDestroyError> = serde_json::from_str(&local_var_content).ok();
312        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
313        Err(Error::ResponseError(local_var_error))
314    }
315}
316
317/// FlowStageBinding Viewset
318pub async fn flows_bindings_list(configuration: &configuration::Configuration, evaluate_on_plan: Option<bool>, fsb_uuid: Option<&str>, invalid_response_action: Option<&str>, order: Option<i32>, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, pbm_uuid: Option<&str>, policies: Option<Vec<uuid::Uuid>>, policy_engine_mode: Option<&str>, re_evaluate_policies: Option<bool>, search: Option<&str>, stage: Option<&str>, target: Option<&str>) -> Result<models::PaginatedFlowStageBindingList, Error<FlowsBindingsListError>> {
319    let local_var_configuration = configuration;
320
321    let local_var_client = &local_var_configuration.client;
322
323    let local_var_uri_str = format!("{}/flows/bindings/", local_var_configuration.base_path);
324    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
325
326    if let Some(ref local_var_str) = evaluate_on_plan {
327        local_var_req_builder = local_var_req_builder.query(&[("evaluate_on_plan", &local_var_str.to_string())]);
328    }
329    if let Some(ref local_var_str) = fsb_uuid {
330        local_var_req_builder = local_var_req_builder.query(&[("fsb_uuid", &local_var_str.to_string())]);
331    }
332    if let Some(ref local_var_str) = invalid_response_action {
333        local_var_req_builder = local_var_req_builder.query(&[("invalid_response_action", &local_var_str.to_string())]);
334    }
335    if let Some(ref local_var_str) = order {
336        local_var_req_builder = local_var_req_builder.query(&[("order", &local_var_str.to_string())]);
337    }
338    if let Some(ref local_var_str) = ordering {
339        local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
340    }
341    if let Some(ref local_var_str) = page {
342        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
343    }
344    if let Some(ref local_var_str) = page_size {
345        local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
346    }
347    if let Some(ref local_var_str) = pbm_uuid {
348        local_var_req_builder = local_var_req_builder.query(&[("pbm_uuid", &local_var_str.to_string())]);
349    }
350    if let Some(ref local_var_str) = policies {
351        local_var_req_builder = match "multi" {
352            "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("policies".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
353            _ => local_var_req_builder.query(&[("policies", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
354        };
355    }
356    if let Some(ref local_var_str) = policy_engine_mode {
357        local_var_req_builder = local_var_req_builder.query(&[("policy_engine_mode", &local_var_str.to_string())]);
358    }
359    if let Some(ref local_var_str) = re_evaluate_policies {
360        local_var_req_builder = local_var_req_builder.query(&[("re_evaluate_policies", &local_var_str.to_string())]);
361    }
362    if let Some(ref local_var_str) = search {
363        local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
364    }
365    if let Some(ref local_var_str) = stage {
366        local_var_req_builder = local_var_req_builder.query(&[("stage", &local_var_str.to_string())]);
367    }
368    if let Some(ref local_var_str) = target {
369        local_var_req_builder = local_var_req_builder.query(&[("target", &local_var_str.to_string())]);
370    }
371    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
372        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
373    }
374    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
375        let local_var_key = local_var_apikey.key.clone();
376        let local_var_value = match local_var_apikey.prefix {
377            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
378            None => local_var_key,
379        };
380        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
381    };
382
383    let local_var_req = local_var_req_builder.build()?;
384    let local_var_resp = local_var_client.execute(local_var_req).await?;
385
386    let local_var_status = local_var_resp.status();
387    let local_var_content = local_var_resp.text().await?;
388
389    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
390        serde_json::from_str(&local_var_content).map_err(Error::from)
391    } else {
392        let local_var_entity: Option<FlowsBindingsListError> = serde_json::from_str(&local_var_content).ok();
393        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
394        Err(Error::ResponseError(local_var_error))
395    }
396}
397
398/// FlowStageBinding Viewset
399pub async fn flows_bindings_partial_update(configuration: &configuration::Configuration, fsb_uuid: &str, patched_flow_stage_binding_request: Option<models::PatchedFlowStageBindingRequest>) -> Result<models::FlowStageBinding, Error<FlowsBindingsPartialUpdateError>> {
400    let local_var_configuration = configuration;
401
402    let local_var_client = &local_var_configuration.client;
403
404    let local_var_uri_str = format!("{}/flows/bindings/{fsb_uuid}/", local_var_configuration.base_path, fsb_uuid=crate::apis::urlencode(fsb_uuid));
405    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
406
407    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
408        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
409    }
410    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
411        let local_var_key = local_var_apikey.key.clone();
412        let local_var_value = match local_var_apikey.prefix {
413            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
414            None => local_var_key,
415        };
416        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
417    };
418    local_var_req_builder = local_var_req_builder.json(&patched_flow_stage_binding_request);
419
420    let local_var_req = local_var_req_builder.build()?;
421    let local_var_resp = local_var_client.execute(local_var_req).await?;
422
423    let local_var_status = local_var_resp.status();
424    let local_var_content = local_var_resp.text().await?;
425
426    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
427        serde_json::from_str(&local_var_content).map_err(Error::from)
428    } else {
429        let local_var_entity: Option<FlowsBindingsPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
430        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
431        Err(Error::ResponseError(local_var_error))
432    }
433}
434
435/// FlowStageBinding Viewset
436pub async fn flows_bindings_retrieve(configuration: &configuration::Configuration, fsb_uuid: &str) -> Result<models::FlowStageBinding, Error<FlowsBindingsRetrieveError>> {
437    let local_var_configuration = configuration;
438
439    let local_var_client = &local_var_configuration.client;
440
441    let local_var_uri_str = format!("{}/flows/bindings/{fsb_uuid}/", local_var_configuration.base_path, fsb_uuid=crate::apis::urlencode(fsb_uuid));
442    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
443
444    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
445        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
446    }
447    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
448        let local_var_key = local_var_apikey.key.clone();
449        let local_var_value = match local_var_apikey.prefix {
450            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
451            None => local_var_key,
452        };
453        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
454    };
455
456    let local_var_req = local_var_req_builder.build()?;
457    let local_var_resp = local_var_client.execute(local_var_req).await?;
458
459    let local_var_status = local_var_resp.status();
460    let local_var_content = local_var_resp.text().await?;
461
462    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
463        serde_json::from_str(&local_var_content).map_err(Error::from)
464    } else {
465        let local_var_entity: Option<FlowsBindingsRetrieveError> = serde_json::from_str(&local_var_content).ok();
466        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
467        Err(Error::ResponseError(local_var_error))
468    }
469}
470
471/// FlowStageBinding Viewset
472pub async fn flows_bindings_update(configuration: &configuration::Configuration, fsb_uuid: &str, flow_stage_binding_request: models::FlowStageBindingRequest) -> Result<models::FlowStageBinding, Error<FlowsBindingsUpdateError>> {
473    let local_var_configuration = configuration;
474
475    let local_var_client = &local_var_configuration.client;
476
477    let local_var_uri_str = format!("{}/flows/bindings/{fsb_uuid}/", local_var_configuration.base_path, fsb_uuid=crate::apis::urlencode(fsb_uuid));
478    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
479
480    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
481        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
482    }
483    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
484        let local_var_key = local_var_apikey.key.clone();
485        let local_var_value = match local_var_apikey.prefix {
486            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
487            None => local_var_key,
488        };
489        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
490    };
491    local_var_req_builder = local_var_req_builder.json(&flow_stage_binding_request);
492
493    let local_var_req = local_var_req_builder.build()?;
494    let local_var_resp = local_var_client.execute(local_var_req).await?;
495
496    let local_var_status = local_var_resp.status();
497    let local_var_content = local_var_resp.text().await?;
498
499    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
500        serde_json::from_str(&local_var_content).map_err(Error::from)
501    } else {
502        let local_var_entity: Option<FlowsBindingsUpdateError> = serde_json::from_str(&local_var_content).ok();
503        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
504        Err(Error::ResponseError(local_var_error))
505    }
506}
507
508/// Get a list of all objects that use this object
509pub async fn flows_bindings_used_by_list(configuration: &configuration::Configuration, fsb_uuid: &str) -> Result<Vec<models::UsedBy>, Error<FlowsBindingsUsedByListError>> {
510    let local_var_configuration = configuration;
511
512    let local_var_client = &local_var_configuration.client;
513
514    let local_var_uri_str = format!("{}/flows/bindings/{fsb_uuid}/used_by/", local_var_configuration.base_path, fsb_uuid=crate::apis::urlencode(fsb_uuid));
515    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
516
517    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
518        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
519    }
520    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
521        let local_var_key = local_var_apikey.key.clone();
522        let local_var_value = match local_var_apikey.prefix {
523            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
524            None => local_var_key,
525        };
526        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
527    };
528
529    let local_var_req = local_var_req_builder.build()?;
530    let local_var_resp = local_var_client.execute(local_var_req).await?;
531
532    let local_var_status = local_var_resp.status();
533    let local_var_content = local_var_resp.text().await?;
534
535    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
536        serde_json::from_str(&local_var_content).map_err(Error::from)
537    } else {
538        let local_var_entity: Option<FlowsBindingsUsedByListError> = serde_json::from_str(&local_var_content).ok();
539        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
540        Err(Error::ResponseError(local_var_error))
541    }
542}
543
544/// Get the next pending challenge from the currently active flow.
545pub async fn flows_executor_get(configuration: &configuration::Configuration, flow_slug: &str, query: &str) -> Result<models::ChallengeTypes, Error<FlowsExecutorGetError>> {
546    let local_var_configuration = configuration;
547
548    let local_var_client = &local_var_configuration.client;
549
550    let local_var_uri_str = format!("{}/flows/executor/{flow_slug}/", local_var_configuration.base_path, flow_slug=crate::apis::urlencode(flow_slug));
551    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
552
553    local_var_req_builder = local_var_req_builder.query(&[("query", &query.to_string())]);
554    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
555        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
556    }
557    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
558        let local_var_key = local_var_apikey.key.clone();
559        let local_var_value = match local_var_apikey.prefix {
560            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
561            None => local_var_key,
562        };
563        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
564    };
565
566    let local_var_req = local_var_req_builder.build()?;
567    let local_var_resp = local_var_client.execute(local_var_req).await?;
568
569    let local_var_status = local_var_resp.status();
570    let local_var_content = local_var_resp.text().await?;
571
572    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
573        serde_json::from_str(&local_var_content).map_err(Error::from)
574    } else {
575        let local_var_entity: Option<FlowsExecutorGetError> = serde_json::from_str(&local_var_content).ok();
576        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
577        Err(Error::ResponseError(local_var_error))
578    }
579}
580
581/// Solve the previously retrieved challenge and advanced to the next stage.
582pub async fn flows_executor_solve(configuration: &configuration::Configuration, flow_slug: &str, query: &str, flow_challenge_response_request: Option<models::FlowChallengeResponseRequest>) -> Result<models::ChallengeTypes, Error<FlowsExecutorSolveError>> {
583    let local_var_configuration = configuration;
584
585    let local_var_client = &local_var_configuration.client;
586
587    let local_var_uri_str = format!("{}/flows/executor/{flow_slug}/", local_var_configuration.base_path, flow_slug=crate::apis::urlencode(flow_slug));
588    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
589
590    local_var_req_builder = local_var_req_builder.query(&[("query", &query.to_string())]);
591    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
592        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
593    }
594    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
595        let local_var_key = local_var_apikey.key.clone();
596        let local_var_value = match local_var_apikey.prefix {
597            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
598            None => local_var_key,
599        };
600        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
601    };
602    local_var_req_builder = local_var_req_builder.json(&flow_challenge_response_request);
603
604    let local_var_req = local_var_req_builder.build()?;
605    let local_var_resp = local_var_client.execute(local_var_req).await?;
606
607    let local_var_status = local_var_resp.status();
608    let local_var_content = local_var_resp.text().await?;
609
610    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
611        serde_json::from_str(&local_var_content).map_err(Error::from)
612    } else {
613        let local_var_entity: Option<FlowsExecutorSolveError> = serde_json::from_str(&local_var_content).ok();
614        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
615        Err(Error::ResponseError(local_var_error))
616    }
617}
618
619/// Get current flow state and record it
620pub async fn flows_inspector_get(configuration: &configuration::Configuration, flow_slug: &str) -> Result<models::FlowInspection, Error<FlowsInspectorGetError>> {
621    let local_var_configuration = configuration;
622
623    let local_var_client = &local_var_configuration.client;
624
625    let local_var_uri_str = format!("{}/flows/inspector/{flow_slug}/", local_var_configuration.base_path, flow_slug=crate::apis::urlencode(flow_slug));
626    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
627
628    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
629        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
630    }
631    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
632        let local_var_key = local_var_apikey.key.clone();
633        let local_var_value = match local_var_apikey.prefix {
634            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
635            None => local_var_key,
636        };
637        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
638    };
639
640    let local_var_req = local_var_req_builder.build()?;
641    let local_var_resp = local_var_client.execute(local_var_req).await?;
642
643    let local_var_status = local_var_resp.status();
644    let local_var_content = local_var_resp.text().await?;
645
646    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
647        serde_json::from_str(&local_var_content).map_err(Error::from)
648    } else {
649        let local_var_entity: Option<FlowsInspectorGetError> = serde_json::from_str(&local_var_content).ok();
650        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
651        Err(Error::ResponseError(local_var_error))
652    }
653}
654
655/// Clear flow cache
656pub async fn flows_instances_cache_clear_create(configuration: &configuration::Configuration, ) -> Result<(), Error<FlowsInstancesCacheClearCreateError>> {
657    let local_var_configuration = configuration;
658
659    let local_var_client = &local_var_configuration.client;
660
661    let local_var_uri_str = format!("{}/flows/instances/cache_clear/", local_var_configuration.base_path);
662    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
663
664    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
665        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
666    }
667    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
668        let local_var_key = local_var_apikey.key.clone();
669        let local_var_value = match local_var_apikey.prefix {
670            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
671            None => local_var_key,
672        };
673        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
674    };
675
676    let local_var_req = local_var_req_builder.build()?;
677    let local_var_resp = local_var_client.execute(local_var_req).await?;
678
679    let local_var_status = local_var_resp.status();
680    let local_var_content = local_var_resp.text().await?;
681
682    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
683        Ok(())
684    } else {
685        let local_var_entity: Option<FlowsInstancesCacheClearCreateError> = serde_json::from_str(&local_var_content).ok();
686        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
687        Err(Error::ResponseError(local_var_error))
688    }
689}
690
691/// Info about cached flows
692pub async fn flows_instances_cache_info_retrieve(configuration: &configuration::Configuration, ) -> Result<models::Cache, Error<FlowsInstancesCacheInfoRetrieveError>> {
693    let local_var_configuration = configuration;
694
695    let local_var_client = &local_var_configuration.client;
696
697    let local_var_uri_str = format!("{}/flows/instances/cache_info/", local_var_configuration.base_path);
698    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
699
700    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
701        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
702    }
703    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
704        let local_var_key = local_var_apikey.key.clone();
705        let local_var_value = match local_var_apikey.prefix {
706            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
707            None => local_var_key,
708        };
709        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
710    };
711
712    let local_var_req = local_var_req_builder.build()?;
713    let local_var_resp = local_var_client.execute(local_var_req).await?;
714
715    let local_var_status = local_var_resp.status();
716    let local_var_content = local_var_resp.text().await?;
717
718    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
719        serde_json::from_str(&local_var_content).map_err(Error::from)
720    } else {
721        let local_var_entity: Option<FlowsInstancesCacheInfoRetrieveError> = serde_json::from_str(&local_var_content).ok();
722        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
723        Err(Error::ResponseError(local_var_error))
724    }
725}
726
727/// Flow Viewset
728pub async fn flows_instances_create(configuration: &configuration::Configuration, flow_request: models::FlowRequest) -> Result<models::Flow, Error<FlowsInstancesCreateError>> {
729    let local_var_configuration = configuration;
730
731    let local_var_client = &local_var_configuration.client;
732
733    let local_var_uri_str = format!("{}/flows/instances/", local_var_configuration.base_path);
734    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
735
736    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
737        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
738    }
739    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
740        let local_var_key = local_var_apikey.key.clone();
741        let local_var_value = match local_var_apikey.prefix {
742            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
743            None => local_var_key,
744        };
745        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
746    };
747    local_var_req_builder = local_var_req_builder.json(&flow_request);
748
749    let local_var_req = local_var_req_builder.build()?;
750    let local_var_resp = local_var_client.execute(local_var_req).await?;
751
752    let local_var_status = local_var_resp.status();
753    let local_var_content = local_var_resp.text().await?;
754
755    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
756        serde_json::from_str(&local_var_content).map_err(Error::from)
757    } else {
758        let local_var_entity: Option<FlowsInstancesCreateError> = serde_json::from_str(&local_var_content).ok();
759        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
760        Err(Error::ResponseError(local_var_error))
761    }
762}
763
764/// Flow Viewset
765pub async fn flows_instances_destroy(configuration: &configuration::Configuration, slug: &str) -> Result<(), Error<FlowsInstancesDestroyError>> {
766    let local_var_configuration = configuration;
767
768    let local_var_client = &local_var_configuration.client;
769
770    let local_var_uri_str = format!("{}/flows/instances/{slug}/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
771    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
772
773    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
774        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
775    }
776    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
777        let local_var_key = local_var_apikey.key.clone();
778        let local_var_value = match local_var_apikey.prefix {
779            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
780            None => local_var_key,
781        };
782        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
783    };
784
785    let local_var_req = local_var_req_builder.build()?;
786    let local_var_resp = local_var_client.execute(local_var_req).await?;
787
788    let local_var_status = local_var_resp.status();
789    let local_var_content = local_var_resp.text().await?;
790
791    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
792        Ok(())
793    } else {
794        let local_var_entity: Option<FlowsInstancesDestroyError> = serde_json::from_str(&local_var_content).ok();
795        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
796        Err(Error::ResponseError(local_var_error))
797    }
798}
799
800/// Return diagram for flow with slug `slug`, in the format used by flowchart.js
801pub async fn flows_instances_diagram_retrieve(configuration: &configuration::Configuration, slug: &str) -> Result<models::FlowDiagram, Error<FlowsInstancesDiagramRetrieveError>> {
802    let local_var_configuration = configuration;
803
804    let local_var_client = &local_var_configuration.client;
805
806    let local_var_uri_str = format!("{}/flows/instances/{slug}/diagram/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
807    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
808
809    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
810        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
811    }
812    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
813        let local_var_key = local_var_apikey.key.clone();
814        let local_var_value = match local_var_apikey.prefix {
815            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
816            None => local_var_key,
817        };
818        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
819    };
820
821    let local_var_req = local_var_req_builder.build()?;
822    let local_var_resp = local_var_client.execute(local_var_req).await?;
823
824    let local_var_status = local_var_resp.status();
825    let local_var_content = local_var_resp.text().await?;
826
827    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
828        serde_json::from_str(&local_var_content).map_err(Error::from)
829    } else {
830        let local_var_entity: Option<FlowsInstancesDiagramRetrieveError> = serde_json::from_str(&local_var_content).ok();
831        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
832        Err(Error::ResponseError(local_var_error))
833    }
834}
835
836/// Execute flow for current user
837pub async fn flows_instances_execute_retrieve(configuration: &configuration::Configuration, slug: &str) -> Result<models::Link, Error<FlowsInstancesExecuteRetrieveError>> {
838    let local_var_configuration = configuration;
839
840    let local_var_client = &local_var_configuration.client;
841
842    let local_var_uri_str = format!("{}/flows/instances/{slug}/execute/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
843    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
844
845    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
846        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
847    }
848    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
849        let local_var_key = local_var_apikey.key.clone();
850        let local_var_value = match local_var_apikey.prefix {
851            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
852            None => local_var_key,
853        };
854        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
855    };
856
857    let local_var_req = local_var_req_builder.build()?;
858    let local_var_resp = local_var_client.execute(local_var_req).await?;
859
860    let local_var_status = local_var_resp.status();
861    let local_var_content = local_var_resp.text().await?;
862
863    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
864        serde_json::from_str(&local_var_content).map_err(Error::from)
865    } else {
866        let local_var_entity: Option<FlowsInstancesExecuteRetrieveError> = serde_json::from_str(&local_var_content).ok();
867        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
868        Err(Error::ResponseError(local_var_error))
869    }
870}
871
872/// Export flow to .yaml file
873pub async fn flows_instances_export_retrieve(configuration: &configuration::Configuration, slug: &str) -> Result<std::path::PathBuf, Error<FlowsInstancesExportRetrieveError>> {
874    let local_var_configuration = configuration;
875
876    let local_var_client = &local_var_configuration.client;
877
878    let local_var_uri_str = format!("{}/flows/instances/{slug}/export/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
879    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
880
881    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
882        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
883    }
884    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
885        let local_var_key = local_var_apikey.key.clone();
886        let local_var_value = match local_var_apikey.prefix {
887            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
888            None => local_var_key,
889        };
890        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
891    };
892
893    let local_var_req = local_var_req_builder.build()?;
894    let local_var_resp = local_var_client.execute(local_var_req).await?;
895
896    let local_var_status = local_var_resp.status();
897    let local_var_content = local_var_resp.text().await?;
898
899    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
900        serde_json::from_str(&local_var_content).map_err(Error::from)
901    } else {
902        let local_var_entity: Option<FlowsInstancesExportRetrieveError> = serde_json::from_str(&local_var_content).ok();
903        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
904        Err(Error::ResponseError(local_var_error))
905    }
906}
907
908/// Import flow from .yaml file
909pub async fn flows_instances_import_create(configuration: &configuration::Configuration, file: Option<std::path::PathBuf>, clear: Option<bool>) -> Result<models::FlowImportResult, Error<FlowsInstancesImportCreateError>> {
910    let local_var_configuration = configuration;
911
912    let local_var_client = &local_var_configuration.client;
913
914    let local_var_uri_str = format!("{}/flows/instances/import/", local_var_configuration.base_path);
915    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
916
917    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
918        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
919    }
920    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
921        let local_var_key = local_var_apikey.key.clone();
922        let local_var_value = match local_var_apikey.prefix {
923            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
924            None => local_var_key,
925        };
926        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
927    };
928    let mut local_var_form = reqwest::multipart::Form::new();
929    // TODO: support file upload for 'file' parameter
930    if let Some(local_var_param_value) = clear {
931        local_var_form = local_var_form.text("clear", local_var_param_value.to_string());
932    }
933    local_var_req_builder = local_var_req_builder.multipart(local_var_form);
934
935    let local_var_req = local_var_req_builder.build()?;
936    let local_var_resp = local_var_client.execute(local_var_req).await?;
937
938    let local_var_status = local_var_resp.status();
939    let local_var_content = local_var_resp.text().await?;
940
941    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
942        serde_json::from_str(&local_var_content).map_err(Error::from)
943    } else {
944        let local_var_entity: Option<FlowsInstancesImportCreateError> = serde_json::from_str(&local_var_content).ok();
945        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
946        Err(Error::ResponseError(local_var_error))
947    }
948}
949
950/// Flow Viewset
951pub async fn flows_instances_list(configuration: &configuration::Configuration, denied_action: Option<&str>, designation: Option<&str>, flow_uuid: Option<&str>, name: Option<&str>, ordering: Option<&str>, page: Option<i32>, page_size: Option<i32>, search: Option<&str>, slug: Option<&str>) -> Result<models::PaginatedFlowList, Error<FlowsInstancesListError>> {
952    let local_var_configuration = configuration;
953
954    let local_var_client = &local_var_configuration.client;
955
956    let local_var_uri_str = format!("{}/flows/instances/", local_var_configuration.base_path);
957    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
958
959    if let Some(ref local_var_str) = denied_action {
960        local_var_req_builder = local_var_req_builder.query(&[("denied_action", &local_var_str.to_string())]);
961    }
962    if let Some(ref local_var_str) = designation {
963        local_var_req_builder = local_var_req_builder.query(&[("designation", &local_var_str.to_string())]);
964    }
965    if let Some(ref local_var_str) = flow_uuid {
966        local_var_req_builder = local_var_req_builder.query(&[("flow_uuid", &local_var_str.to_string())]);
967    }
968    if let Some(ref local_var_str) = name {
969        local_var_req_builder = local_var_req_builder.query(&[("name", &local_var_str.to_string())]);
970    }
971    if let Some(ref local_var_str) = ordering {
972        local_var_req_builder = local_var_req_builder.query(&[("ordering", &local_var_str.to_string())]);
973    }
974    if let Some(ref local_var_str) = page {
975        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
976    }
977    if let Some(ref local_var_str) = page_size {
978        local_var_req_builder = local_var_req_builder.query(&[("page_size", &local_var_str.to_string())]);
979    }
980    if let Some(ref local_var_str) = search {
981        local_var_req_builder = local_var_req_builder.query(&[("search", &local_var_str.to_string())]);
982    }
983    if let Some(ref local_var_str) = slug {
984        local_var_req_builder = local_var_req_builder.query(&[("slug", &local_var_str.to_string())]);
985    }
986    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
987        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
988    }
989    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
990        let local_var_key = local_var_apikey.key.clone();
991        let local_var_value = match local_var_apikey.prefix {
992            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
993            None => local_var_key,
994        };
995        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
996    };
997
998    let local_var_req = local_var_req_builder.build()?;
999    let local_var_resp = local_var_client.execute(local_var_req).await?;
1000
1001    let local_var_status = local_var_resp.status();
1002    let local_var_content = local_var_resp.text().await?;
1003
1004    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1005        serde_json::from_str(&local_var_content).map_err(Error::from)
1006    } else {
1007        let local_var_entity: Option<FlowsInstancesListError> = serde_json::from_str(&local_var_content).ok();
1008        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1009        Err(Error::ResponseError(local_var_error))
1010    }
1011}
1012
1013/// Flow Viewset
1014pub async fn flows_instances_partial_update(configuration: &configuration::Configuration, slug: &str, patched_flow_request: Option<models::PatchedFlowRequest>) -> Result<models::Flow, Error<FlowsInstancesPartialUpdateError>> {
1015    let local_var_configuration = configuration;
1016
1017    let local_var_client = &local_var_configuration.client;
1018
1019    let local_var_uri_str = format!("{}/flows/instances/{slug}/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
1020    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
1021
1022    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1023        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1024    }
1025    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1026        let local_var_key = local_var_apikey.key.clone();
1027        let local_var_value = match local_var_apikey.prefix {
1028            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1029            None => local_var_key,
1030        };
1031        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
1032    };
1033    local_var_req_builder = local_var_req_builder.json(&patched_flow_request);
1034
1035    let local_var_req = local_var_req_builder.build()?;
1036    let local_var_resp = local_var_client.execute(local_var_req).await?;
1037
1038    let local_var_status = local_var_resp.status();
1039    let local_var_content = local_var_resp.text().await?;
1040
1041    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1042        serde_json::from_str(&local_var_content).map_err(Error::from)
1043    } else {
1044        let local_var_entity: Option<FlowsInstancesPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
1045        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1046        Err(Error::ResponseError(local_var_error))
1047    }
1048}
1049
1050/// Flow Viewset
1051pub async fn flows_instances_retrieve(configuration: &configuration::Configuration, slug: &str) -> Result<models::Flow, Error<FlowsInstancesRetrieveError>> {
1052    let local_var_configuration = configuration;
1053
1054    let local_var_client = &local_var_configuration.client;
1055
1056    let local_var_uri_str = format!("{}/flows/instances/{slug}/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
1057    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1058
1059    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1060        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1061    }
1062    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1063        let local_var_key = local_var_apikey.key.clone();
1064        let local_var_value = match local_var_apikey.prefix {
1065            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1066            None => local_var_key,
1067        };
1068        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
1069    };
1070
1071    let local_var_req = local_var_req_builder.build()?;
1072    let local_var_resp = local_var_client.execute(local_var_req).await?;
1073
1074    let local_var_status = local_var_resp.status();
1075    let local_var_content = local_var_resp.text().await?;
1076
1077    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1078        serde_json::from_str(&local_var_content).map_err(Error::from)
1079    } else {
1080        let local_var_entity: Option<FlowsInstancesRetrieveError> = serde_json::from_str(&local_var_content).ok();
1081        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1082        Err(Error::ResponseError(local_var_error))
1083    }
1084}
1085
1086/// Set Flow background
1087pub async fn flows_instances_set_background_create(configuration: &configuration::Configuration, slug: &str, file: Option<std::path::PathBuf>, clear: Option<bool>) -> Result<(), Error<FlowsInstancesSetBackgroundCreateError>> {
1088    let local_var_configuration = configuration;
1089
1090    let local_var_client = &local_var_configuration.client;
1091
1092    let local_var_uri_str = format!("{}/flows/instances/{slug}/set_background/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
1093    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1094
1095    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1096        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1097    }
1098    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1099        let local_var_key = local_var_apikey.key.clone();
1100        let local_var_value = match local_var_apikey.prefix {
1101            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1102            None => local_var_key,
1103        };
1104        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
1105    };
1106    let mut local_var_form = reqwest::multipart::Form::new();
1107    // TODO: support file upload for 'file' parameter
1108    if let Some(local_var_param_value) = clear {
1109        local_var_form = local_var_form.text("clear", local_var_param_value.to_string());
1110    }
1111    local_var_req_builder = local_var_req_builder.multipart(local_var_form);
1112
1113    let local_var_req = local_var_req_builder.build()?;
1114    let local_var_resp = local_var_client.execute(local_var_req).await?;
1115
1116    let local_var_status = local_var_resp.status();
1117    let local_var_content = local_var_resp.text().await?;
1118
1119    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1120        Ok(())
1121    } else {
1122        let local_var_entity: Option<FlowsInstancesSetBackgroundCreateError> = serde_json::from_str(&local_var_content).ok();
1123        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1124        Err(Error::ResponseError(local_var_error))
1125    }
1126}
1127
1128/// Set Flow background (as URL)
1129pub async fn flows_instances_set_background_url_create(configuration: &configuration::Configuration, slug: &str, file_path_request: models::FilePathRequest) -> Result<(), Error<FlowsInstancesSetBackgroundUrlCreateError>> {
1130    let local_var_configuration = configuration;
1131
1132    let local_var_client = &local_var_configuration.client;
1133
1134    let local_var_uri_str = format!("{}/flows/instances/{slug}/set_background_url/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
1135    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1136
1137    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1138        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1139    }
1140    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1141        let local_var_key = local_var_apikey.key.clone();
1142        let local_var_value = match local_var_apikey.prefix {
1143            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1144            None => local_var_key,
1145        };
1146        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
1147    };
1148    local_var_req_builder = local_var_req_builder.json(&file_path_request);
1149
1150    let local_var_req = local_var_req_builder.build()?;
1151    let local_var_resp = local_var_client.execute(local_var_req).await?;
1152
1153    let local_var_status = local_var_resp.status();
1154    let local_var_content = local_var_resp.text().await?;
1155
1156    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1157        Ok(())
1158    } else {
1159        let local_var_entity: Option<FlowsInstancesSetBackgroundUrlCreateError> = serde_json::from_str(&local_var_content).ok();
1160        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1161        Err(Error::ResponseError(local_var_error))
1162    }
1163}
1164
1165/// Flow Viewset
1166pub async fn flows_instances_update(configuration: &configuration::Configuration, slug: &str, flow_request: models::FlowRequest) -> Result<models::Flow, Error<FlowsInstancesUpdateError>> {
1167    let local_var_configuration = configuration;
1168
1169    let local_var_client = &local_var_configuration.client;
1170
1171    let local_var_uri_str = format!("{}/flows/instances/{slug}/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
1172    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1173
1174    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1175        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1176    }
1177    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1178        let local_var_key = local_var_apikey.key.clone();
1179        let local_var_value = match local_var_apikey.prefix {
1180            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1181            None => local_var_key,
1182        };
1183        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
1184    };
1185    local_var_req_builder = local_var_req_builder.json(&flow_request);
1186
1187    let local_var_req = local_var_req_builder.build()?;
1188    let local_var_resp = local_var_client.execute(local_var_req).await?;
1189
1190    let local_var_status = local_var_resp.status();
1191    let local_var_content = local_var_resp.text().await?;
1192
1193    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1194        serde_json::from_str(&local_var_content).map_err(Error::from)
1195    } else {
1196        let local_var_entity: Option<FlowsInstancesUpdateError> = serde_json::from_str(&local_var_content).ok();
1197        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1198        Err(Error::ResponseError(local_var_error))
1199    }
1200}
1201
1202/// Get a list of all objects that use this object
1203pub async fn flows_instances_used_by_list(configuration: &configuration::Configuration, slug: &str) -> Result<Vec<models::UsedBy>, Error<FlowsInstancesUsedByListError>> {
1204    let local_var_configuration = configuration;
1205
1206    let local_var_client = &local_var_configuration.client;
1207
1208    let local_var_uri_str = format!("{}/flows/instances/{slug}/used_by/", local_var_configuration.base_path, slug=crate::apis::urlencode(slug));
1209    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1210
1211    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1212        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1213    }
1214    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1215        let local_var_key = local_var_apikey.key.clone();
1216        let local_var_value = match local_var_apikey.prefix {
1217            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1218            None => local_var_key,
1219        };
1220        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
1221    };
1222
1223    let local_var_req = local_var_req_builder.build()?;
1224    let local_var_resp = local_var_client.execute(local_var_req).await?;
1225
1226    let local_var_status = local_var_resp.status();
1227    let local_var_content = local_var_resp.text().await?;
1228
1229    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1230        serde_json::from_str(&local_var_content).map_err(Error::from)
1231    } else {
1232        let local_var_entity: Option<FlowsInstancesUsedByListError> = serde_json::from_str(&local_var_content).ok();
1233        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1234        Err(Error::ResponseError(local_var_error))
1235    }
1236}
1237