pipedrive_rs/apis/
legacy_teams_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_team`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AddTeamError {
22    Status403(crate::models::FailResponse),
23    UnknownValue(serde_json::Value),
24}
25
26/// struct for typed errors of method [`add_team_user`]
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum AddTeamUserError {
30    Status403(crate::models::FailResponse),
31    Status404(crate::models::FailResponse),
32    UnknownValue(serde_json::Value),
33}
34
35/// struct for typed errors of method [`delete_team_user`]
36#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(untagged)]
38pub enum DeleteTeamUserError {
39    Status403(crate::models::FailResponse),
40    Status404(crate::models::FailResponse),
41    UnknownValue(serde_json::Value),
42}
43
44/// struct for typed errors of method [`get_team`]
45#[derive(Debug, Clone, Serialize, Deserialize)]
46#[serde(untagged)]
47pub enum GetTeamError {
48    Status404(crate::models::FailResponse),
49    UnknownValue(serde_json::Value),
50}
51
52/// struct for typed errors of method [`get_team_users`]
53#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum GetTeamUsersError {
56    Status404(crate::models::FailResponse),
57    UnknownValue(serde_json::Value),
58}
59
60/// struct for typed errors of method [`get_teams`]
61#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum GetTeamsError {
64    UnknownValue(serde_json::Value),
65}
66
67/// struct for typed errors of method [`get_user_teams`]
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum GetUserTeamsError {
71    UnknownValue(serde_json::Value),
72}
73
74/// struct for typed errors of method [`update_team`]
75#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum UpdateTeamError {
78    Status403(crate::models::FailResponse),
79    Status404(crate::models::FailResponse),
80    UnknownValue(serde_json::Value),
81}
82
83
84/// Adds a new team to the company and returns the created object.
85pub async fn add_team(configuration: &configuration::Configuration, add_team_request: Option<crate::models::AddTeamRequest>) -> Result<crate::models::TeamResponse200, Error<AddTeamError>> {
86    let local_var_configuration = configuration;
87
88    let local_var_client = &local_var_configuration.client;
89
90    let local_var_uri_str = format!("{}/legacyTeams", local_var_configuration.base_path);
91    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
92
93    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
94        let local_var_key = local_var_apikey.key.clone();
95        let local_var_value = match local_var_apikey.prefix {
96            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
97            None => local_var_key,
98        };
99        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
100    }
101    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
102        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
103    }
104    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
105        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
106    };
107    local_var_req_builder = local_var_req_builder.json(&add_team_request);
108
109    let local_var_req = local_var_req_builder.build()?;
110    let local_var_resp = local_var_client.execute(local_var_req).await?;
111
112    let local_var_status = local_var_resp.status();
113    let local_var_content = local_var_resp.text().await?;
114
115    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
116        serde_json::from_str(&local_var_content).map_err(Error::from)
117    } else {
118        let local_var_entity: Option<AddTeamError> = serde_json::from_str(&local_var_content).ok();
119        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
120        Err(Error::ResponseError(local_var_error))
121    }
122}
123
124/// Adds users to an existing team.
125pub async fn add_team_user(configuration: &configuration::Configuration, id: i32, add_team_user_request: Option<crate::models::AddTeamUserRequest>) -> Result<crate::models::UserIds, Error<AddTeamUserError>> {
126    let local_var_configuration = configuration;
127
128    let local_var_client = &local_var_configuration.client;
129
130    let local_var_uri_str = format!("{}/legacyTeams/{id}/users", local_var_configuration.base_path, id=id);
131    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
132
133    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
134        let local_var_key = local_var_apikey.key.clone();
135        let local_var_value = match local_var_apikey.prefix {
136            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
137            None => local_var_key,
138        };
139        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
140    }
141    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
142        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
143    }
144    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
145        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
146    };
147    local_var_req_builder = local_var_req_builder.json(&add_team_user_request);
148
149    let local_var_req = local_var_req_builder.build()?;
150    let local_var_resp = local_var_client.execute(local_var_req).await?;
151
152    let local_var_status = local_var_resp.status();
153    let local_var_content = local_var_resp.text().await?;
154
155    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
156        serde_json::from_str(&local_var_content).map_err(Error::from)
157    } else {
158        let local_var_entity: Option<AddTeamUserError> = serde_json::from_str(&local_var_content).ok();
159        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
160        Err(Error::ResponseError(local_var_error))
161    }
162}
163
164/// Deletes users from an existing team.
165pub async fn delete_team_user(configuration: &configuration::Configuration, id: i32, delete_team_user_request: Option<crate::models::DeleteTeamUserRequest>) -> Result<crate::models::UserIds, Error<DeleteTeamUserError>> {
166    let local_var_configuration = configuration;
167
168    let local_var_client = &local_var_configuration.client;
169
170    let local_var_uri_str = format!("{}/legacyTeams/{id}/users", local_var_configuration.base_path, id=id);
171    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
172
173    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
174        let local_var_key = local_var_apikey.key.clone();
175        let local_var_value = match local_var_apikey.prefix {
176            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
177            None => local_var_key,
178        };
179        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
180    }
181    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
182        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
183    }
184    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
185        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
186    };
187    local_var_req_builder = local_var_req_builder.json(&delete_team_user_request);
188
189    let local_var_req = local_var_req_builder.build()?;
190    let local_var_resp = local_var_client.execute(local_var_req).await?;
191
192    let local_var_status = local_var_resp.status();
193    let local_var_content = local_var_resp.text().await?;
194
195    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
196        serde_json::from_str(&local_var_content).map_err(Error::from)
197    } else {
198        let local_var_entity: Option<DeleteTeamUserError> = serde_json::from_str(&local_var_content).ok();
199        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
200        Err(Error::ResponseError(local_var_error))
201    }
202}
203
204/// Returns data about a specific team.
205pub async fn get_team(configuration: &configuration::Configuration, id: i32, skip_users: Option<f32>) -> Result<crate::models::TeamResponse200, Error<GetTeamError>> {
206    let local_var_configuration = configuration;
207
208    let local_var_client = &local_var_configuration.client;
209
210    let local_var_uri_str = format!("{}/legacyTeams/{id}", local_var_configuration.base_path, id=id);
211    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
212
213    if let Some(ref local_var_str) = skip_users {
214        local_var_req_builder = local_var_req_builder.query(&[("skip_users", &local_var_str.to_string())]);
215    }
216    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
217        let local_var_key = local_var_apikey.key.clone();
218        let local_var_value = match local_var_apikey.prefix {
219            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
220            None => local_var_key,
221        };
222        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
223    }
224    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
225        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
226    }
227    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
228        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
229    };
230
231    let local_var_req = local_var_req_builder.build()?;
232    let local_var_resp = local_var_client.execute(local_var_req).await?;
233
234    let local_var_status = local_var_resp.status();
235    let local_var_content = local_var_resp.text().await?;
236
237    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
238        serde_json::from_str(&local_var_content).map_err(Error::from)
239    } else {
240        let local_var_entity: Option<GetTeamError> = serde_json::from_str(&local_var_content).ok();
241        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
242        Err(Error::ResponseError(local_var_error))
243    }
244}
245
246/// Returns a list of all user IDs within a team.
247pub async fn get_team_users(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::UserIds, Error<GetTeamUsersError>> {
248    let local_var_configuration = configuration;
249
250    let local_var_client = &local_var_configuration.client;
251
252    let local_var_uri_str = format!("{}/legacyTeams/{id}/users", local_var_configuration.base_path, id=id);
253    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
254
255    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
256        let local_var_key = local_var_apikey.key.clone();
257        let local_var_value = match local_var_apikey.prefix {
258            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
259            None => local_var_key,
260        };
261        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
262    }
263    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
264        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
265    }
266    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
267        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
268    };
269
270    let local_var_req = local_var_req_builder.build()?;
271    let local_var_resp = local_var_client.execute(local_var_req).await?;
272
273    let local_var_status = local_var_resp.status();
274    let local_var_content = local_var_resp.text().await?;
275
276    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
277        serde_json::from_str(&local_var_content).map_err(Error::from)
278    } else {
279        let local_var_entity: Option<GetTeamUsersError> = serde_json::from_str(&local_var_content).ok();
280        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
281        Err(Error::ResponseError(local_var_error))
282    }
283}
284
285/// Returns data about teams within the company.
286pub async fn get_teams(configuration: &configuration::Configuration, order_by: Option<&str>, skip_users: Option<f32>) -> Result<crate::models::TeamsResponse200, Error<GetTeamsError>> {
287    let local_var_configuration = configuration;
288
289    let local_var_client = &local_var_configuration.client;
290
291    let local_var_uri_str = format!("{}/legacyTeams", local_var_configuration.base_path);
292    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
293
294    if let Some(ref local_var_str) = order_by {
295        local_var_req_builder = local_var_req_builder.query(&[("order_by", &local_var_str.to_string())]);
296    }
297    if let Some(ref local_var_str) = skip_users {
298        local_var_req_builder = local_var_req_builder.query(&[("skip_users", &local_var_str.to_string())]);
299    }
300    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
301        let local_var_key = local_var_apikey.key.clone();
302        let local_var_value = match local_var_apikey.prefix {
303            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
304            None => local_var_key,
305        };
306        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
307    }
308    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
309        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
310    }
311    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
312        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
313    };
314
315    let local_var_req = local_var_req_builder.build()?;
316    let local_var_resp = local_var_client.execute(local_var_req).await?;
317
318    let local_var_status = local_var_resp.status();
319    let local_var_content = local_var_resp.text().await?;
320
321    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
322        serde_json::from_str(&local_var_content).map_err(Error::from)
323    } else {
324        let local_var_entity: Option<GetTeamsError> = serde_json::from_str(&local_var_content).ok();
325        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
326        Err(Error::ResponseError(local_var_error))
327    }
328}
329
330/// Returns data about all teams which have the specified user as a member.
331pub async fn get_user_teams(configuration: &configuration::Configuration, id: i32, order_by: Option<&str>, skip_users: Option<f32>) -> Result<crate::models::TeamsResponse200, Error<GetUserTeamsError>> {
332    let local_var_configuration = configuration;
333
334    let local_var_client = &local_var_configuration.client;
335
336    let local_var_uri_str = format!("{}/legacyTeams/user/{id}", local_var_configuration.base_path, id=id);
337    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
338
339    if let Some(ref local_var_str) = order_by {
340        local_var_req_builder = local_var_req_builder.query(&[("order_by", &local_var_str.to_string())]);
341    }
342    if let Some(ref local_var_str) = skip_users {
343        local_var_req_builder = local_var_req_builder.query(&[("skip_users", &local_var_str.to_string())]);
344    }
345    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
346        let local_var_key = local_var_apikey.key.clone();
347        let local_var_value = match local_var_apikey.prefix {
348            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
349            None => local_var_key,
350        };
351        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
352    }
353    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
354        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
355    }
356    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
357        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
358    };
359
360    let local_var_req = local_var_req_builder.build()?;
361    let local_var_resp = local_var_client.execute(local_var_req).await?;
362
363    let local_var_status = local_var_resp.status();
364    let local_var_content = local_var_resp.text().await?;
365
366    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
367        serde_json::from_str(&local_var_content).map_err(Error::from)
368    } else {
369        let local_var_entity: Option<GetUserTeamsError> = serde_json::from_str(&local_var_content).ok();
370        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
371        Err(Error::ResponseError(local_var_error))
372    }
373}
374
375/// Updates an existing team and returns the updated object.
376pub async fn update_team(configuration: &configuration::Configuration, id: i32, update_team_request: Option<crate::models::UpdateTeamRequest>) -> Result<crate::models::TeamResponse200, Error<UpdateTeamError>> {
377    let local_var_configuration = configuration;
378
379    let local_var_client = &local_var_configuration.client;
380
381    let local_var_uri_str = format!("{}/legacyTeams/{id}", local_var_configuration.base_path, id=id);
382    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
383
384    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
385        let local_var_key = local_var_apikey.key.clone();
386        let local_var_value = match local_var_apikey.prefix {
387            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
388            None => local_var_key,
389        };
390        local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
391    }
392    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
393        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
394    }
395    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
396        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
397    };
398    local_var_req_builder = local_var_req_builder.json(&update_team_request);
399
400    let local_var_req = local_var_req_builder.build()?;
401    let local_var_resp = local_var_client.execute(local_var_req).await?;
402
403    let local_var_status = local_var_resp.status();
404    let local_var_content = local_var_resp.text().await?;
405
406    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
407        serde_json::from_str(&local_var_content).map_err(Error::from)
408    } else {
409        let local_var_entity: Option<UpdateTeamError> = serde_json::from_str(&local_var_content).ok();
410        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
411        Err(Error::ResponseError(local_var_error))
412    }
413}
414