1use reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum GetProfileGroupsError {
21 Status400(models::JsonErrorResponseNull),
22 Status401(models::JsonErrorResponseNull),
23 Status403(models::JsonErrorResponseNull),
24 Status404(models::JsonErrorResponseNull),
25 Status409(models::JsonErrorResponseNull),
26 Status429(models::JsonErrorResponseNull),
27 Status500(models::JsonErrorResponseNull),
28 UnknownValue(serde_json::Value),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum GetProfileReposError {
35 Status400(models::JsonErrorResponseNull),
36 Status401(models::JsonErrorResponseNull),
37 Status403(models::JsonErrorResponseNull),
38 Status404(models::JsonErrorResponseNull),
39 Status409(models::JsonErrorResponseNull),
40 Status429(models::JsonErrorResponseNull),
41 Status500(models::JsonErrorResponseNull),
42 UnknownValue(serde_json::Value),
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum GetUsersFeedsError {
49 Status400(models::JsonErrorResponseNull),
50 Status401(models::JsonErrorResponseNull),
51 Status403(models::JsonErrorResponseNull),
52 Status404(models::JsonErrorResponseNull),
53 Status409(models::JsonErrorResponseNull),
54 Status429(models::JsonErrorResponseNull),
55 Status500(models::JsonErrorResponseNull),
56 UnknownValue(serde_json::Value),
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize)]
61#[serde(untagged)]
62pub enum GetUsersHasPermError {
63 Status400(models::JsonErrorResponseNull),
64 Status401(models::JsonErrorResponseNull),
65 Status403(models::JsonErrorResponseNull),
66 Status404(models::JsonErrorResponseNull),
67 Status409(models::JsonErrorResponseNull),
68 Status429(models::JsonErrorResponseNull),
69 Status500(models::JsonErrorResponseNull),
70 UnknownValue(serde_json::Value),
71}
72
73#[derive(Debug, Clone, Serialize, Deserialize)]
75#[serde(untagged)]
76pub enum GetUsersHeatmapError {
77 Status400(models::JsonErrorResponseNull),
78 Status401(models::JsonErrorResponseNull),
79 Status403(models::JsonErrorResponseNull),
80 Status404(models::JsonErrorResponseNull),
81 Status409(models::JsonErrorResponseNull),
82 Status429(models::JsonErrorResponseNull),
83 Status500(models::JsonErrorResponseNull),
84 UnknownValue(serde_json::Value),
85}
86
87#[derive(Debug, Clone, Serialize, Deserialize)]
89#[serde(untagged)]
90pub enum GetUsersStarsError {
91 Status400(models::JsonErrorResponseNull),
92 Status401(models::JsonErrorResponseNull),
93 Status403(models::JsonErrorResponseNull),
94 Status404(models::JsonErrorResponseNull),
95 Status409(models::JsonErrorResponseNull),
96 Status429(models::JsonErrorResponseNull),
97 Status500(models::JsonErrorResponseNull),
98 UnknownValue(serde_json::Value),
99}
100
101#[derive(Debug, Clone, Serialize, Deserialize)]
103#[serde(untagged)]
104pub enum GetUsersUserError {
105 Status400(models::JsonErrorResponseNull),
106 Status401(models::JsonErrorResponseNull),
107 Status403(models::JsonErrorResponseNull),
108 Status404(models::JsonErrorResponseNull),
109 Status409(models::JsonErrorResponseNull),
110 Status429(models::JsonErrorResponseNull),
111 Status500(models::JsonErrorResponseNull),
112 UnknownValue(serde_json::Value),
113}
114
115#[derive(Debug, Clone, Serialize, Deserialize)]
117#[serde(untagged)]
118pub enum GetUsersUsersError {
119 Status400(models::JsonErrorResponseNull),
120 Status401(models::JsonErrorResponseNull),
121 Status403(models::JsonErrorResponseNull),
122 Status404(models::JsonErrorResponseNull),
123 Status409(models::JsonErrorResponseNull),
124 Status429(models::JsonErrorResponseNull),
125 Status500(models::JsonErrorResponseNull),
126 UnknownValue(serde_json::Value),
127}
128
129pub async fn get_profile_groups(
130 configuration: &configuration::Configuration,
131 identifier: &str,
132 page: Option<i64>,
133 size: Option<i64>,
134 query: Option<&str>,
135 sort: Option<models::GroupSort>,
136 order: Option<models::OrderOption>,
137) -> Result<Vec<models::GroupModel>, Error<GetProfileGroupsError>> {
138 let p_path_identifier = identifier;
140 let p_query_page = page;
141 let p_query_size = size;
142 let p_query_query = query;
143 let p_query_sort = sort;
144 let p_query_order = order;
145
146 let uri_str = format!(
147 "{}/users/{identifier}/groups",
148 configuration.base_path,
149 identifier = crate::apis::urlencode(p_path_identifier)
150 );
151 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
152
153 if let Some(ref param_value) = p_query_page {
154 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
155 }
156 if let Some(ref param_value) = p_query_size {
157 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
158 }
159 if let Some(ref param_value) = p_query_query {
160 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
161 }
162 if let Some(ref param_value) = p_query_sort {
163 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
164 }
165 if let Some(ref param_value) = p_query_order {
166 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
167 }
168 if let Some(ref user_agent) = configuration.user_agent {
169 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
170 }
171
172 let req = req_builder.build()?;
173 let resp = configuration.client.execute(req).await?;
174
175 let status = resp.status();
176 let content_type = resp
177 .headers()
178 .get("content-type")
179 .and_then(|v| v.to_str().ok())
180 .unwrap_or("application/octet-stream");
181 let content_type = super::ContentType::from(content_type);
182
183 if !status.is_client_error() && !status.is_server_error() {
184 let content = resp.text().await?;
185 match content_type {
186 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
187 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::GroupModel>`"))),
188 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::GroupModel>`")))),
189 }
190 } else {
191 let content = resp.text().await?;
192 let entity: Option<GetProfileGroupsError> = serde_json::from_str(&content).ok();
193 Err(Error::ResponseError(ResponseContent {
194 status,
195 content,
196 entity,
197 }))
198 }
199}
200
201pub async fn get_profile_repos(
202 configuration: &configuration::Configuration,
203 identifier: &str,
204 page: Option<i64>,
205 size: Option<i64>,
206 query: Option<&str>,
207 sort: Option<models::RepoSort>,
208 order: Option<models::OrderOption>,
209) -> Result<Vec<models::RepoParent>, Error<GetProfileReposError>> {
210 let p_path_identifier = identifier;
212 let p_query_page = page;
213 let p_query_size = size;
214 let p_query_query = query;
215 let p_query_sort = sort;
216 let p_query_order = order;
217
218 let uri_str = format!(
219 "{}/users/{identifier}/repos",
220 configuration.base_path,
221 identifier = crate::apis::urlencode(p_path_identifier)
222 );
223 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
224
225 if let Some(ref param_value) = p_query_page {
226 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
227 }
228 if let Some(ref param_value) = p_query_size {
229 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
230 }
231 if let Some(ref param_value) = p_query_query {
232 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
233 }
234 if let Some(ref param_value) = p_query_sort {
235 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
236 }
237 if let Some(ref param_value) = p_query_order {
238 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
239 }
240 if let Some(ref user_agent) = configuration.user_agent {
241 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
242 }
243
244 let req = req_builder.build()?;
245 let resp = configuration.client.execute(req).await?;
246
247 let status = resp.status();
248 let content_type = resp
249 .headers()
250 .get("content-type")
251 .and_then(|v| v.to_str().ok())
252 .unwrap_or("application/octet-stream");
253 let content_type = super::ContentType::from(content_type);
254
255 if !status.is_client_error() && !status.is_server_error() {
256 let content = resp.text().await?;
257 match content_type {
258 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
259 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::RepoParent>`"))),
260 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::RepoParent>`")))),
261 }
262 } else {
263 let content = resp.text().await?;
264 let entity: Option<GetProfileReposError> = serde_json::from_str(&content).ok();
265 Err(Error::ResponseError(ResponseContent {
266 status,
267 content,
268 entity,
269 }))
270 }
271}
272
273pub async fn get_users_feeds(
274 configuration: &configuration::Configuration,
275 identifier: &str,
276 page: Option<i64>,
277 size: Option<i64>,
278 order: Option<models::OrderOption>,
279 r#type: Option<models::FeedType>,
280 before: Option<i64>,
281 after: Option<i64>,
282) -> Result<Vec<models::FeedRelations>, Error<GetUsersFeedsError>> {
283 let p_path_identifier = identifier;
285 let p_query_page = page;
286 let p_query_size = size;
287 let p_query_order = order;
288 let p_query_type = r#type;
289 let p_query_before = before;
290 let p_query_after = after;
291
292 let uri_str = format!(
293 "{}/users/{identifier}/feeds",
294 configuration.base_path,
295 identifier = crate::apis::urlencode(p_path_identifier)
296 );
297 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
298
299 if let Some(ref param_value) = p_query_page {
300 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
301 }
302 if let Some(ref param_value) = p_query_size {
303 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
304 }
305 if let Some(ref param_value) = p_query_order {
306 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
307 }
308 if let Some(ref param_value) = p_query_type {
309 req_builder = req_builder.query(&[("type", ¶m_value.to_string())]);
310 }
311 if let Some(ref param_value) = p_query_before {
312 req_builder = req_builder.query(&[("before", ¶m_value.to_string())]);
313 }
314 if let Some(ref param_value) = p_query_after {
315 req_builder = req_builder.query(&[("after", ¶m_value.to_string())]);
316 }
317 if let Some(ref user_agent) = configuration.user_agent {
318 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
319 }
320
321 let req = req_builder.build()?;
322 let resp = configuration.client.execute(req).await?;
323
324 let status = resp.status();
325 let content_type = resp
326 .headers()
327 .get("content-type")
328 .and_then(|v| v.to_str().ok())
329 .unwrap_or("application/octet-stream");
330 let content_type = super::ContentType::from(content_type);
331
332 if !status.is_client_error() && !status.is_server_error() {
333 let content = resp.text().await?;
334 match content_type {
335 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
336 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::FeedRelations>`"))),
337 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::FeedRelations>`")))),
338 }
339 } else {
340 let content = resp.text().await?;
341 let entity: Option<GetUsersFeedsError> = serde_json::from_str(&content).ok();
342 Err(Error::ResponseError(ResponseContent {
343 status,
344 content,
345 entity,
346 }))
347 }
348}
349
350pub async fn get_users_has_perm(
351 configuration: &configuration::Configuration,
352 identifier: &str,
353 repo_ref: &str,
354 perm: models::Permission,
355) -> Result<bool, Error<GetUsersHasPermError>> {
356 let p_path_identifier = identifier;
358 let p_path_repo_ref = repo_ref;
359 let p_query_perm = perm;
360
361 let uri_str = format!(
362 "{}/users/{identifier}/{repo_ref}/+/has_perm",
363 configuration.base_path,
364 identifier = crate::apis::urlencode(p_path_identifier),
365 repo_ref = crate::apis::urlencode(p_path_repo_ref)
366 );
367 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
368
369 req_builder = req_builder.query(&[("perm", &p_query_perm.to_string())]);
370 if let Some(ref user_agent) = configuration.user_agent {
371 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
372 }
373
374 let req = req_builder.build()?;
375 let resp = configuration.client.execute(req).await?;
376
377 let status = resp.status();
378 let content_type = resp
379 .headers()
380 .get("content-type")
381 .and_then(|v| v.to_str().ok())
382 .unwrap_or("application/octet-stream");
383 let content_type = super::ContentType::from(content_type);
384
385 if !status.is_client_error() && !status.is_server_error() {
386 let content = resp.text().await?;
387 match content_type {
388 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
389 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `bool`"))),
390 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `bool`")))),
391 }
392 } else {
393 let content = resp.text().await?;
394 let entity: Option<GetUsersHasPermError> = serde_json::from_str(&content).ok();
395 Err(Error::ResponseError(ResponseContent {
396 status,
397 content,
398 entity,
399 }))
400 }
401}
402
403pub async fn get_users_heatmap(
404 configuration: &configuration::Configuration,
405 identifier: &str,
406 before: Option<i64>,
407 after: Option<i64>,
408) -> Result<models::Heatmap, Error<GetUsersHeatmapError>> {
409 let p_path_identifier = identifier;
411 let p_query_before = before;
412 let p_query_after = after;
413
414 let uri_str = format!(
415 "{}/users/{identifier}/heatmap",
416 configuration.base_path,
417 identifier = crate::apis::urlencode(p_path_identifier)
418 );
419 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
420
421 if let Some(ref param_value) = p_query_before {
422 req_builder = req_builder.query(&[("before", ¶m_value.to_string())]);
423 }
424 if let Some(ref param_value) = p_query_after {
425 req_builder = req_builder.query(&[("after", ¶m_value.to_string())]);
426 }
427 if let Some(ref user_agent) = configuration.user_agent {
428 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
429 }
430
431 let req = req_builder.build()?;
432 let resp = configuration.client.execute(req).await?;
433
434 let status = resp.status();
435 let content_type = resp
436 .headers()
437 .get("content-type")
438 .and_then(|v| v.to_str().ok())
439 .unwrap_or("application/octet-stream");
440 let content_type = super::ContentType::from(content_type);
441
442 if !status.is_client_error() && !status.is_server_error() {
443 let content = resp.text().await?;
444 match content_type {
445 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
446 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Heatmap`"))),
447 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Heatmap`")))),
448 }
449 } else {
450 let content = resp.text().await?;
451 let entity: Option<GetUsersHeatmapError> = serde_json::from_str(&content).ok();
452 Err(Error::ResponseError(ResponseContent {
453 status,
454 content,
455 entity,
456 }))
457 }
458}
459
460pub async fn get_users_stars(
461 configuration: &configuration::Configuration,
462 identifier: &str,
463 page: Option<i64>,
464 size: Option<i64>,
465 query: Option<&str>,
466 sort: Option<models::RepoSort>,
467 order: Option<models::OrderOption>,
468) -> Result<Vec<models::RepoParent>, Error<GetUsersStarsError>> {
469 let p_path_identifier = identifier;
471 let p_query_page = page;
472 let p_query_size = size;
473 let p_query_query = query;
474 let p_query_sort = sort;
475 let p_query_order = order;
476
477 let uri_str = format!(
478 "{}/users/{identifier}/stars",
479 configuration.base_path,
480 identifier = crate::apis::urlencode(p_path_identifier)
481 );
482 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
483
484 if let Some(ref param_value) = p_query_page {
485 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
486 }
487 if let Some(ref param_value) = p_query_size {
488 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
489 }
490 if let Some(ref param_value) = p_query_query {
491 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
492 }
493 if let Some(ref param_value) = p_query_sort {
494 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
495 }
496 if let Some(ref param_value) = p_query_order {
497 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
498 }
499 if let Some(ref user_agent) = configuration.user_agent {
500 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
501 }
502
503 let req = req_builder.build()?;
504 let resp = configuration.client.execute(req).await?;
505
506 let status = resp.status();
507 let content_type = resp
508 .headers()
509 .get("content-type")
510 .and_then(|v| v.to_str().ok())
511 .unwrap_or("application/octet-stream");
512 let content_type = super::ContentType::from(content_type);
513
514 if !status.is_client_error() && !status.is_server_error() {
515 let content = resp.text().await?;
516 match content_type {
517 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
518 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::RepoParent>`"))),
519 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::RepoParent>`")))),
520 }
521 } else {
522 let content = resp.text().await?;
523 let entity: Option<GetUsersStarsError> = serde_json::from_str(&content).ok();
524 Err(Error::ResponseError(ResponseContent {
525 status,
526 content,
527 entity,
528 }))
529 }
530}
531
532pub async fn get_users_user(
533 configuration: &configuration::Configuration,
534 identifier: &str,
535) -> Result<models::UserModel, Error<GetUsersUserError>> {
536 let p_path_identifier = identifier;
538
539 let uri_str = format!(
540 "{}/users/{identifier}",
541 configuration.base_path,
542 identifier = crate::apis::urlencode(p_path_identifier)
543 );
544 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
545
546 if let Some(ref user_agent) = configuration.user_agent {
547 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
548 }
549
550 let req = req_builder.build()?;
551 let resp = configuration.client.execute(req).await?;
552
553 let status = resp.status();
554 let content_type = resp
555 .headers()
556 .get("content-type")
557 .and_then(|v| v.to_str().ok())
558 .unwrap_or("application/octet-stream");
559 let content_type = super::ContentType::from(content_type);
560
561 if !status.is_client_error() && !status.is_server_error() {
562 let content = resp.text().await?;
563 match content_type {
564 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
565 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UserModel`"))),
566 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UserModel`")))),
567 }
568 } else {
569 let content = resp.text().await?;
570 let entity: Option<GetUsersUserError> = serde_json::from_str(&content).ok();
571 Err(Error::ResponseError(ResponseContent {
572 status,
573 content,
574 entity,
575 }))
576 }
577}
578
579pub async fn get_users_users(
580 configuration: &configuration::Configuration,
581 page: Option<i64>,
582 size: Option<i64>,
583 query: Option<&str>,
584 types: Option<Vec<models::UserType>>,
585 sort: Option<models::UserSort>,
586 order: Option<models::OrderOption>,
587 admin: Option<bool>,
588) -> Result<Vec<models::UserModel>, Error<GetUsersUsersError>> {
589 let p_query_page = page;
591 let p_query_size = size;
592 let p_query_query = query;
593 let p_query_types = types;
594 let p_query_sort = sort;
595 let p_query_order = order;
596 let p_query_admin = admin;
597
598 let uri_str = format!("{}/users", configuration.base_path);
599 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
600
601 if let Some(ref param_value) = p_query_page {
602 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
603 }
604 if let Some(ref param_value) = p_query_size {
605 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
606 }
607 if let Some(ref param_value) = p_query_query {
608 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
609 }
610 if let Some(ref param_value) = p_query_types {
611 req_builder = match "multi" {
612 "multi" => req_builder.query(
613 ¶m_value
614 .iter()
615 .map(|p| ("types".to_owned(), p.to_string()))
616 .collect::<Vec<(std::string::String, std::string::String)>>(),
617 ),
618 _ => req_builder.query(&[(
619 "types",
620 ¶m_value
621 .iter()
622 .map(|p| p.to_string())
623 .collect::<Vec<String>>()
624 .join(",")
625 .to_string(),
626 )]),
627 };
628 }
629 if let Some(ref param_value) = p_query_sort {
630 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
631 }
632 if let Some(ref param_value) = p_query_order {
633 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
634 }
635 if let Some(ref param_value) = p_query_admin {
636 req_builder = req_builder.query(&[("admin", ¶m_value.to_string())]);
637 }
638 if let Some(ref apikey) = configuration.api_key {
639 let key = apikey.key.clone();
640 let value = match apikey.prefix {
641 Some(ref prefix) => format!("{} {}", prefix, key),
642 None => key,
643 };
644 req_builder = req_builder.query(&[("access_token", value)]);
645 }
646 if let Some(ref user_agent) = configuration.user_agent {
647 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
648 }
649 if let Some(ref auth_conf) = configuration.basic_auth {
650 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
651 };
652 if let Some(ref token) = configuration.bearer_access_token {
653 req_builder = req_builder.bearer_auth(token.to_owned());
654 };
655
656 let req = req_builder.build()?;
657 let resp = configuration.client.execute(req).await?;
658
659 let status = resp.status();
660 let content_type = resp
661 .headers()
662 .get("content-type")
663 .and_then(|v| v.to_str().ok())
664 .unwrap_or("application/octet-stream");
665 let content_type = super::ContentType::from(content_type);
666
667 if !status.is_client_error() && !status.is_server_error() {
668 let content = resp.text().await?;
669 match content_type {
670 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
671 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::UserModel>`"))),
672 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::UserModel>`")))),
673 }
674 } else {
675 let content = resp.text().await?;
676 let entity: Option<GetUsersUsersError> = serde_json::from_str(&content).ok();
677 Err(Error::ResponseError(ResponseContent {
678 status,
679 content,
680 entity,
681 }))
682 }
683}