pipedrive_rs/apis/
organization_fields_api.rs

1/*
2 * Pipedrive API v1
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`add_organization_field`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AddOrganizationFieldError {
22    UnknownValue(serde_json::Value),
23}
24
25/// struct for typed errors of method [`delete_organization_field`]
26#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum DeleteOrganizationFieldError {
29    UnknownValue(serde_json::Value),
30}
31
32/// struct for typed errors of method [`delete_organization_fields`]
33#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum DeleteOrganizationFieldsError {
36    UnknownValue(serde_json::Value),
37}
38
39/// struct for typed errors of method [`get_organization_field`]
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum GetOrganizationFieldError {
43    UnknownValue(serde_json::Value),
44}
45
46/// struct for typed errors of method [`get_organization_fields`]
47#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum GetOrganizationFieldsError {
50    UnknownValue(serde_json::Value),
51}
52
53/// struct for typed errors of method [`update_organization_field`]
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum UpdateOrganizationFieldError {
57    UnknownValue(serde_json::Value),
58}
59
60
61/// Adds a new organization field. For more information, see the tutorial for <a href=\"https://pipedrive.readme.io/docs/adding-a-new-custom-field\" target=\"_blank\" rel=\"noopener noreferrer\">adding a new custom field</a>.
62pub 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
101/// Marks a field as deleted. For more information, see the tutorial for <a href=\"https://pipedrive.readme.io/docs/deleting-a-custom-field\" target=\"_blank\" rel=\"noopener noreferrer\">deleting a custom field</a>.
102pub 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
140/// Marks multiple fields as deleted.
141pub 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
180/// Returns data about a specific organization field.
181pub 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
219/// Returns data about all organization fields.
220pub 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
264/// Updates an organization field. For more information, see the tutorial for <a href=\" https://pipedrive.readme.io/docs/updating-custom-field-value \" target=\"_blank\" rel=\"noopener noreferrer\">updating custom fields' values</a>.
265pub 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