camunda_client/apis/
task_identity_link_api.rs1use std::rc::Rc;
12use std::borrow::Borrow;
13#[allow(unused_imports)]
14use std::option::Option;
15
16use reqwest;
17
18use super::{Error, configuration};
19
20pub struct 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 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 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 let req = req_builder.build()?;
93
94 Ok(client.execute(req)?.error_for_status()?.json()?)
95 }
96
97}