1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AddTeamError {
22 Status403(crate::models::FailResponse),
23 UnknownValue(serde_json::Value),
24}
25
26#[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#[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#[derive(Debug, Clone, Serialize, Deserialize)]
46#[serde(untagged)]
47pub enum GetTeamError {
48 Status404(crate::models::FailResponse),
49 UnknownValue(serde_json::Value),
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum GetTeamUsersError {
56 Status404(crate::models::FailResponse),
57 UnknownValue(serde_json::Value),
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum GetTeamsError {
64 UnknownValue(serde_json::Value),
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum GetUserTeamsError {
71 UnknownValue(serde_json::Value),
72}
73
74#[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
84pub 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
124pub 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
164pub 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
204pub 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
246pub 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
285pub 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
330pub 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
375pub 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