1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AddOrganizationFieldError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum DeleteOrganizationFieldError {
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum DeleteOrganizationFieldsError {
36 UnknownValue(serde_json::Value),
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum GetOrganizationFieldError {
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum GetOrganizationFieldsError {
50 UnknownValue(serde_json::Value),
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum UpdateOrganizationFieldError {
57 UnknownValue(serde_json::Value),
58}
59
60
61pub async fn add_organization_field(configuration: &configuration::Configuration, create_field_request: Option<crate::models::CreateFieldRequest>) -> Result<crate::models::FieldResponse200, Error<AddOrganizationFieldError>> {
63 let local_var_configuration = configuration;
64
65 let local_var_client = &local_var_configuration.client;
66
67 let local_var_uri_str = format!("{}/organizationFields", local_var_configuration.base_path);
68 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
69
70 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
71 let local_var_key = local_var_apikey.key.clone();
72 let local_var_value = match local_var_apikey.prefix {
73 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
74 None => local_var_key,
75 };
76 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
77 }
78 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
79 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
80 }
81 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
82 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
83 };
84 local_var_req_builder = local_var_req_builder.json(&create_field_request);
85
86 let local_var_req = local_var_req_builder.build()?;
87 let local_var_resp = local_var_client.execute(local_var_req).await?;
88
89 let local_var_status = local_var_resp.status();
90 let local_var_content = local_var_resp.text().await?;
91
92 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
93 serde_json::from_str(&local_var_content).map_err(Error::from)
94 } else {
95 let local_var_entity: Option<AddOrganizationFieldError> = serde_json::from_str(&local_var_content).ok();
96 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
97 Err(Error::ResponseError(local_var_error))
98 }
99}
100
101pub async fn delete_organization_field(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::DeleteFieldResponse200, Error<DeleteOrganizationFieldError>> {
103 let local_var_configuration = configuration;
104
105 let local_var_client = &local_var_configuration.client;
106
107 let local_var_uri_str = format!("{}/organizationFields/{id}", local_var_configuration.base_path, id=id);
108 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
109
110 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
111 let local_var_key = local_var_apikey.key.clone();
112 let local_var_value = match local_var_apikey.prefix {
113 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
114 None => local_var_key,
115 };
116 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
117 }
118 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
119 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
120 }
121 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
122 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
123 };
124
125 let local_var_req = local_var_req_builder.build()?;
126 let local_var_resp = local_var_client.execute(local_var_req).await?;
127
128 let local_var_status = local_var_resp.status();
129 let local_var_content = local_var_resp.text().await?;
130
131 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
132 serde_json::from_str(&local_var_content).map_err(Error::from)
133 } else {
134 let local_var_entity: Option<DeleteOrganizationFieldError> = serde_json::from_str(&local_var_content).ok();
135 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
136 Err(Error::ResponseError(local_var_error))
137 }
138}
139
140pub async fn delete_organization_fields(configuration: &configuration::Configuration, ids: &str) -> Result<crate::models::DeleteFieldsResponse200, Error<DeleteOrganizationFieldsError>> {
142 let local_var_configuration = configuration;
143
144 let local_var_client = &local_var_configuration.client;
145
146 let local_var_uri_str = format!("{}/organizationFields", local_var_configuration.base_path);
147 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
148
149 local_var_req_builder = local_var_req_builder.query(&[("ids", &ids.to_string())]);
150 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
151 let local_var_key = local_var_apikey.key.clone();
152 let local_var_value = match local_var_apikey.prefix {
153 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
154 None => local_var_key,
155 };
156 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
157 }
158 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
159 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
160 }
161 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
162 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
163 };
164
165 let local_var_req = local_var_req_builder.build()?;
166 let local_var_resp = local_var_client.execute(local_var_req).await?;
167
168 let local_var_status = local_var_resp.status();
169 let local_var_content = local_var_resp.text().await?;
170
171 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
172 serde_json::from_str(&local_var_content).map_err(Error::from)
173 } else {
174 let local_var_entity: Option<DeleteOrganizationFieldsError> = serde_json::from_str(&local_var_content).ok();
175 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
176 Err(Error::ResponseError(local_var_error))
177 }
178}
179
180pub async fn get_organization_field(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::FieldResponse200, Error<GetOrganizationFieldError>> {
182 let local_var_configuration = configuration;
183
184 let local_var_client = &local_var_configuration.client;
185
186 let local_var_uri_str = format!("{}/organizationFields/{id}", local_var_configuration.base_path, id=id);
187 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
188
189 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
190 let local_var_key = local_var_apikey.key.clone();
191 let local_var_value = match local_var_apikey.prefix {
192 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
193 None => local_var_key,
194 };
195 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
196 }
197 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
198 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
199 }
200 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
201 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
202 };
203
204 let local_var_req = local_var_req_builder.build()?;
205 let local_var_resp = local_var_client.execute(local_var_req).await?;
206
207 let local_var_status = local_var_resp.status();
208 let local_var_content = local_var_resp.text().await?;
209
210 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
211 serde_json::from_str(&local_var_content).map_err(Error::from)
212 } else {
213 let local_var_entity: Option<GetOrganizationFieldError> = serde_json::from_str(&local_var_content).ok();
214 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
215 Err(Error::ResponseError(local_var_error))
216 }
217}
218
219pub async fn get_organization_fields(configuration: &configuration::Configuration, start: Option<i32>, limit: Option<i32>) -> Result<crate::models::FieldsResponse200, Error<GetOrganizationFieldsError>> {
221 let local_var_configuration = configuration;
222
223 let local_var_client = &local_var_configuration.client;
224
225 let local_var_uri_str = format!("{}/organizationFields", local_var_configuration.base_path);
226 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
227
228 if let Some(ref local_var_str) = start {
229 local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
230 }
231 if let Some(ref local_var_str) = limit {
232 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
233 }
234 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
235 let local_var_key = local_var_apikey.key.clone();
236 let local_var_value = match local_var_apikey.prefix {
237 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
238 None => local_var_key,
239 };
240 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
241 }
242 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
243 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
244 }
245 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
246 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
247 };
248
249 let local_var_req = local_var_req_builder.build()?;
250 let local_var_resp = local_var_client.execute(local_var_req).await?;
251
252 let local_var_status = local_var_resp.status();
253 let local_var_content = local_var_resp.text().await?;
254
255 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
256 serde_json::from_str(&local_var_content).map_err(Error::from)
257 } else {
258 let local_var_entity: Option<GetOrganizationFieldsError> = serde_json::from_str(&local_var_content).ok();
259 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
260 Err(Error::ResponseError(local_var_error))
261 }
262}
263
264pub async fn update_organization_field(configuration: &configuration::Configuration, id: i32, update_field_request: Option<crate::models::UpdateFieldRequest>) -> Result<crate::models::FieldResponse200, Error<UpdateOrganizationFieldError>> {
266 let local_var_configuration = configuration;
267
268 let local_var_client = &local_var_configuration.client;
269
270 let local_var_uri_str = format!("{}/organizationFields/{id}", local_var_configuration.base_path, id=id);
271 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
272
273 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
274 let local_var_key = local_var_apikey.key.clone();
275 let local_var_value = match local_var_apikey.prefix {
276 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
277 None => local_var_key,
278 };
279 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
280 }
281 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
282 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
283 }
284 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
285 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
286 };
287 local_var_req_builder = local_var_req_builder.json(&update_field_request);
288
289 let local_var_req = local_var_req_builder.build()?;
290 let local_var_resp = local_var_client.execute(local_var_req).await?;
291
292 let local_var_status = local_var_resp.status();
293 let local_var_content = local_var_resp.text().await?;
294
295 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
296 serde_json::from_str(&local_var_content).map_err(Error::from)
297 } else {
298 let local_var_entity: Option<UpdateOrganizationFieldError> = serde_json::from_str(&local_var_content).ok();
299 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
300 Err(Error::ResponseError(local_var_error))
301 }
302}
303