camunda_client/apis/
task_identity_link_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 TaskIdentityLinkApiClient {
21    configuration: Rc<configuration::Configuration>,
22}
23
24impl TaskIdentityLinkApiClient {
25    pub fn new(configuration: Rc<configuration::Configuration>) -> TaskIdentityLinkApiClient {
26        TaskIdentityLinkApiClient {
27            configuration,
28        }
29    }
30}
31
32pub trait TaskIdentityLinkApi {
33    fn add_identity_link(&self, id: &str, identity_link_dto: Option<crate::models::IdentityLinkDto>) -> Result<(), Error>;
34    fn delete_identity_link(&self, id: &str, identity_link_dto: Option<crate::models::IdentityLinkDto>) -> Result<(), Error>;
35    fn get_identity_links(&self, id: &str, _type: Option<&str>) -> Result<Vec<crate::models::IdentityLinkDto>, Error>;
36}
37
38impl TaskIdentityLinkApi for TaskIdentityLinkApiClient {
39    fn add_identity_link(&self, id: &str, identity_link_dto: Option<crate::models::IdentityLinkDto>) -> Result<(), Error> {
40        let configuration: &configuration::Configuration = self.configuration.borrow();
41        let client = &configuration.client;
42
43        let uri_str = format!("{}/task/{id}/identity-links", configuration.base_path, id=crate::apis::urlencode(id));
44        let mut req_builder = client.post(uri_str.as_str());
45
46        if let Some(ref user_agent) = configuration.user_agent {
47            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
48        }
49        req_builder = req_builder.json(&identity_link_dto);
50
51        // send request
52        let req = req_builder.build()?;
53
54        client.execute(req)?.error_for_status()?;
55        Ok(())
56    }
57
58    fn delete_identity_link(&self, id: &str, identity_link_dto: Option<crate::models::IdentityLinkDto>) -> Result<(), Error> {
59        let configuration: &configuration::Configuration = self.configuration.borrow();
60        let client = &configuration.client;
61
62        let uri_str = format!("{}/task/{id}/identity-links/delete", configuration.base_path, id=crate::apis::urlencode(id));
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(&identity_link_dto);
69
70        // send request
71        let req = req_builder.build()?;
72
73        client.execute(req)?.error_for_status()?;
74        Ok(())
75    }
76
77    fn get_identity_links(&self, id: &str, _type: Option<&str>) -> Result<Vec<crate::models::IdentityLinkDto>, Error> {
78        let configuration: &configuration::Configuration = self.configuration.borrow();
79        let client = &configuration.client;
80
81        let uri_str = format!("{}/task/{id}/identity-links", configuration.base_path, id=crate::apis::urlencode(id));
82        let mut req_builder = client.get(uri_str.as_str());
83
84        if let Some(ref s) = _type {
85            req_builder = req_builder.query(&[("type", &s.to_string())]);
86        }
87        if let Some(ref user_agent) = configuration.user_agent {
88            req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
89        }
90
91        // send request
92        let req = req_builder.build()?;
93
94        Ok(client.execute(req)?.error_for_status()?.json()?)
95    }
96
97}