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 GetAllFeedsError {
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 GetAllGroupsError {
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 GetAllReposError {
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 GetAllUsersError {
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 GetProfileGroupsError {
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 GetProfileReposError {
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 GetUsersFeedsError {
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 GetUsersHasPermError {
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
129#[derive(Debug, Clone, Serialize, Deserialize)]
131#[serde(untagged)]
132pub enum GetUsersHeatmapError {
133 Status400(models::JsonErrorResponseNull),
134 Status401(models::JsonErrorResponseNull),
135 Status403(models::JsonErrorResponseNull),
136 Status404(models::JsonErrorResponseNull),
137 Status409(models::JsonErrorResponseNull),
138 Status429(models::JsonErrorResponseNull),
139 Status500(models::JsonErrorResponseNull),
140 UnknownValue(serde_json::Value),
141}
142
143#[derive(Debug, Clone, Serialize, Deserialize)]
145#[serde(untagged)]
146pub enum GetUsersStarsError {
147 Status400(models::JsonErrorResponseNull),
148 Status401(models::JsonErrorResponseNull),
149 Status403(models::JsonErrorResponseNull),
150 Status404(models::JsonErrorResponseNull),
151 Status409(models::JsonErrorResponseNull),
152 Status429(models::JsonErrorResponseNull),
153 Status500(models::JsonErrorResponseNull),
154 UnknownValue(serde_json::Value),
155}
156
157#[derive(Debug, Clone, Serialize, Deserialize)]
159#[serde(untagged)]
160pub enum GetUsersUserError {
161 Status400(models::JsonErrorResponseNull),
162 Status401(models::JsonErrorResponseNull),
163 Status403(models::JsonErrorResponseNull),
164 Status404(models::JsonErrorResponseNull),
165 Status409(models::JsonErrorResponseNull),
166 Status429(models::JsonErrorResponseNull),
167 Status500(models::JsonErrorResponseNull),
168 UnknownValue(serde_json::Value),
169}
170
171pub async fn get_all_feeds(
172 configuration: &configuration::Configuration,
173 page: Option<i64>,
174 size: Option<i64>,
175 order: Option<models::OrderOption>,
176 r#type: Option<models::FeedType>,
177 before: Option<i64>,
178 after: Option<i64>,
179) -> Result<Vec<models::FeedRelations>, Error<GetAllFeedsError>> {
180 let p_query_page = page;
182 let p_query_size = size;
183 let p_query_order = order;
184 let p_query_type = r#type;
185 let p_query_before = before;
186 let p_query_after = after;
187
188 let uri_str = format!("{}/users/feeds", configuration.base_path);
189 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
190
191 if let Some(ref param_value) = p_query_page {
192 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
193 }
194 if let Some(ref param_value) = p_query_size {
195 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
196 }
197 if let Some(ref param_value) = p_query_order {
198 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
199 }
200 if let Some(ref param_value) = p_query_type {
201 req_builder = req_builder.query(&[("type", ¶m_value.to_string())]);
202 }
203 if let Some(ref param_value) = p_query_before {
204 req_builder = req_builder.query(&[("before", ¶m_value.to_string())]);
205 }
206 if let Some(ref param_value) = p_query_after {
207 req_builder = req_builder.query(&[("after", ¶m_value.to_string())]);
208 }
209 if let Some(ref user_agent) = configuration.user_agent {
210 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
211 }
212
213 let req = req_builder.build()?;
214 let resp = configuration.client.execute(req).await?;
215
216 let status = resp.status();
217 let content_type = resp
218 .headers()
219 .get("content-type")
220 .and_then(|v| v.to_str().ok())
221 .unwrap_or("application/octet-stream");
222 let content_type = super::ContentType::from(content_type);
223
224 if !status.is_client_error() && !status.is_server_error() {
225 let content = resp.text().await?;
226 match content_type {
227 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
228 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::FeedRelations>`"))),
229 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>`")))),
230 }
231 } else {
232 let content = resp.text().await?;
233 let entity: Option<GetAllFeedsError> = serde_json::from_str(&content).ok();
234 Err(Error::ResponseError(ResponseContent {
235 status,
236 content,
237 entity,
238 }))
239 }
240}
241
242pub async fn get_all_groups(
243 configuration: &configuration::Configuration,
244 page: Option<i64>,
245 size: Option<i64>,
246 query: Option<&str>,
247 sort: Option<models::GroupSort>,
248 order: Option<models::OrderOption>,
249) -> Result<Vec<models::GroupModel>, Error<GetAllGroupsError>> {
250 let p_query_page = page;
252 let p_query_size = size;
253 let p_query_query = query;
254 let p_query_sort = sort;
255 let p_query_order = order;
256
257 let uri_str = format!("{}/users/groups", configuration.base_path);
258 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
259
260 if let Some(ref param_value) = p_query_page {
261 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
262 }
263 if let Some(ref param_value) = p_query_size {
264 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
265 }
266 if let Some(ref param_value) = p_query_query {
267 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
268 }
269 if let Some(ref param_value) = p_query_sort {
270 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
271 }
272 if let Some(ref param_value) = p_query_order {
273 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
274 }
275 if let Some(ref user_agent) = configuration.user_agent {
276 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
277 }
278
279 let req = req_builder.build()?;
280 let resp = configuration.client.execute(req).await?;
281
282 let status = resp.status();
283 let content_type = resp
284 .headers()
285 .get("content-type")
286 .and_then(|v| v.to_str().ok())
287 .unwrap_or("application/octet-stream");
288 let content_type = super::ContentType::from(content_type);
289
290 if !status.is_client_error() && !status.is_server_error() {
291 let content = resp.text().await?;
292 match content_type {
293 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
294 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::GroupModel>`"))),
295 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>`")))),
296 }
297 } else {
298 let content = resp.text().await?;
299 let entity: Option<GetAllGroupsError> = serde_json::from_str(&content).ok();
300 Err(Error::ResponseError(ResponseContent {
301 status,
302 content,
303 entity,
304 }))
305 }
306}
307
308pub async fn get_all_repos(
309 configuration: &configuration::Configuration,
310 page: Option<i64>,
311 size: Option<i64>,
312 query: Option<&str>,
313 sort: Option<models::RepoSort>,
314 order: Option<models::OrderOption>,
315) -> Result<Vec<models::RepoParent>, Error<GetAllReposError>> {
316 let p_query_page = page;
318 let p_query_size = size;
319 let p_query_query = query;
320 let p_query_sort = sort;
321 let p_query_order = order;
322
323 let uri_str = format!("{}/users/repos", configuration.base_path);
324 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
325
326 if let Some(ref param_value) = p_query_page {
327 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
328 }
329 if let Some(ref param_value) = p_query_size {
330 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
331 }
332 if let Some(ref param_value) = p_query_query {
333 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
334 }
335 if let Some(ref param_value) = p_query_sort {
336 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
337 }
338 if let Some(ref param_value) = p_query_order {
339 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
340 }
341 if let Some(ref user_agent) = configuration.user_agent {
342 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
343 }
344
345 let req = req_builder.build()?;
346 let resp = configuration.client.execute(req).await?;
347
348 let status = resp.status();
349 let content_type = resp
350 .headers()
351 .get("content-type")
352 .and_then(|v| v.to_str().ok())
353 .unwrap_or("application/octet-stream");
354 let content_type = super::ContentType::from(content_type);
355
356 if !status.is_client_error() && !status.is_server_error() {
357 let content = resp.text().await?;
358 match content_type {
359 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
360 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::RepoParent>`"))),
361 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>`")))),
362 }
363 } else {
364 let content = resp.text().await?;
365 let entity: Option<GetAllReposError> = serde_json::from_str(&content).ok();
366 Err(Error::ResponseError(ResponseContent {
367 status,
368 content,
369 entity,
370 }))
371 }
372}
373
374pub async fn get_all_users(
375 configuration: &configuration::Configuration,
376 page: Option<i64>,
377 size: Option<i64>,
378 query: Option<&str>,
379 types: Option<Vec<models::UserType>>,
380 sort: Option<models::UserSort>,
381 order: Option<models::OrderOption>,
382 admin: Option<bool>,
383) -> Result<Vec<models::UserModel>, Error<GetAllUsersError>> {
384 let p_query_page = page;
386 let p_query_size = size;
387 let p_query_query = query;
388 let p_query_types = types;
389 let p_query_sort = sort;
390 let p_query_order = order;
391 let p_query_admin = admin;
392
393 let uri_str = format!("{}/users", configuration.base_path);
394 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
395
396 if let Some(ref param_value) = p_query_page {
397 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
398 }
399 if let Some(ref param_value) = p_query_size {
400 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
401 }
402 if let Some(ref param_value) = p_query_query {
403 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
404 }
405 if let Some(ref param_value) = p_query_types {
406 req_builder = match "multi" {
407 "multi" => req_builder.query(
408 ¶m_value
409 .iter()
410 .map(|p| ("types".to_owned(), p.to_string()))
411 .collect::<Vec<(std::string::String, std::string::String)>>(),
412 ),
413 _ => req_builder.query(&[(
414 "types",
415 ¶m_value
416 .iter()
417 .map(|p| p.to_string())
418 .collect::<Vec<String>>()
419 .join(",")
420 .to_string(),
421 )]),
422 };
423 }
424 if let Some(ref param_value) = p_query_sort {
425 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
426 }
427 if let Some(ref param_value) = p_query_order {
428 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
429 }
430 if let Some(ref param_value) = p_query_admin {
431 req_builder = req_builder.query(&[("admin", ¶m_value.to_string())]);
432 }
433 if let Some(ref apikey) = configuration.api_key {
434 let key = apikey.key.clone();
435 let value = match apikey.prefix {
436 Some(ref prefix) => format!("{} {}", prefix, key),
437 None => key,
438 };
439 req_builder = req_builder.query(&[("access_token", value)]);
440 }
441 if let Some(ref user_agent) = configuration.user_agent {
442 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
443 }
444 if let Some(ref auth_conf) = configuration.basic_auth {
445 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
446 };
447 if let Some(ref token) = configuration.bearer_access_token {
448 req_builder = req_builder.bearer_auth(token.to_owned());
449 };
450
451 let req = req_builder.build()?;
452 let resp = configuration.client.execute(req).await?;
453
454 let status = resp.status();
455 let content_type = resp
456 .headers()
457 .get("content-type")
458 .and_then(|v| v.to_str().ok())
459 .unwrap_or("application/octet-stream");
460 let content_type = super::ContentType::from(content_type);
461
462 if !status.is_client_error() && !status.is_server_error() {
463 let content = resp.text().await?;
464 match content_type {
465 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
466 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::UserModel>`"))),
467 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>`")))),
468 }
469 } else {
470 let content = resp.text().await?;
471 let entity: Option<GetAllUsersError> = serde_json::from_str(&content).ok();
472 Err(Error::ResponseError(ResponseContent {
473 status,
474 content,
475 entity,
476 }))
477 }
478}
479
480pub async fn get_profile_groups(
481 configuration: &configuration::Configuration,
482 identifier: &str,
483 page: Option<i64>,
484 size: Option<i64>,
485 query: Option<&str>,
486 sort: Option<models::GroupSort>,
487 order: Option<models::OrderOption>,
488) -> Result<Vec<models::GroupModel>, Error<GetProfileGroupsError>> {
489 let p_path_identifier = identifier;
491 let p_query_page = page;
492 let p_query_size = size;
493 let p_query_query = query;
494 let p_query_sort = sort;
495 let p_query_order = order;
496
497 let uri_str = format!(
498 "{}/users/{identifier}/groups",
499 configuration.base_path,
500 identifier = crate::apis::urlencode(p_path_identifier)
501 );
502 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
503
504 if let Some(ref param_value) = p_query_page {
505 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
506 }
507 if let Some(ref param_value) = p_query_size {
508 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
509 }
510 if let Some(ref param_value) = p_query_query {
511 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
512 }
513 if let Some(ref param_value) = p_query_sort {
514 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
515 }
516 if let Some(ref param_value) = p_query_order {
517 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
518 }
519 if let Some(ref user_agent) = configuration.user_agent {
520 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
521 }
522
523 let req = req_builder.build()?;
524 let resp = configuration.client.execute(req).await?;
525
526 let status = resp.status();
527 let content_type = resp
528 .headers()
529 .get("content-type")
530 .and_then(|v| v.to_str().ok())
531 .unwrap_or("application/octet-stream");
532 let content_type = super::ContentType::from(content_type);
533
534 if !status.is_client_error() && !status.is_server_error() {
535 let content = resp.text().await?;
536 match content_type {
537 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
538 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::GroupModel>`"))),
539 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>`")))),
540 }
541 } else {
542 let content = resp.text().await?;
543 let entity: Option<GetProfileGroupsError> = serde_json::from_str(&content).ok();
544 Err(Error::ResponseError(ResponseContent {
545 status,
546 content,
547 entity,
548 }))
549 }
550}
551
552pub async fn get_profile_repos(
553 configuration: &configuration::Configuration,
554 identifier: &str,
555 page: Option<i64>,
556 size: Option<i64>,
557 query: Option<&str>,
558 sort: Option<models::RepoSort>,
559 order: Option<models::OrderOption>,
560) -> Result<Vec<models::RepoParent>, Error<GetProfileReposError>> {
561 let p_path_identifier = identifier;
563 let p_query_page = page;
564 let p_query_size = size;
565 let p_query_query = query;
566 let p_query_sort = sort;
567 let p_query_order = order;
568
569 let uri_str = format!(
570 "{}/users/{identifier}/repos",
571 configuration.base_path,
572 identifier = crate::apis::urlencode(p_path_identifier)
573 );
574 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
575
576 if let Some(ref param_value) = p_query_page {
577 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
578 }
579 if let Some(ref param_value) = p_query_size {
580 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
581 }
582 if let Some(ref param_value) = p_query_query {
583 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
584 }
585 if let Some(ref param_value) = p_query_sort {
586 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
587 }
588 if let Some(ref param_value) = p_query_order {
589 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
590 }
591 if let Some(ref user_agent) = configuration.user_agent {
592 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
593 }
594
595 let req = req_builder.build()?;
596 let resp = configuration.client.execute(req).await?;
597
598 let status = resp.status();
599 let content_type = resp
600 .headers()
601 .get("content-type")
602 .and_then(|v| v.to_str().ok())
603 .unwrap_or("application/octet-stream");
604 let content_type = super::ContentType::from(content_type);
605
606 if !status.is_client_error() && !status.is_server_error() {
607 let content = resp.text().await?;
608 match content_type {
609 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
610 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::RepoParent>`"))),
611 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>`")))),
612 }
613 } else {
614 let content = resp.text().await?;
615 let entity: Option<GetProfileReposError> = serde_json::from_str(&content).ok();
616 Err(Error::ResponseError(ResponseContent {
617 status,
618 content,
619 entity,
620 }))
621 }
622}
623
624pub async fn get_users_feeds(
625 configuration: &configuration::Configuration,
626 identifier: &str,
627 page: Option<i64>,
628 size: Option<i64>,
629 order: Option<models::OrderOption>,
630 r#type: Option<models::FeedType>,
631 before: Option<i64>,
632 after: Option<i64>,
633) -> Result<Vec<models::FeedRelations>, Error<GetUsersFeedsError>> {
634 let p_path_identifier = identifier;
636 let p_query_page = page;
637 let p_query_size = size;
638 let p_query_order = order;
639 let p_query_type = r#type;
640 let p_query_before = before;
641 let p_query_after = after;
642
643 let uri_str = format!(
644 "{}/users/{identifier}/feeds",
645 configuration.base_path,
646 identifier = crate::apis::urlencode(p_path_identifier)
647 );
648 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
649
650 if let Some(ref param_value) = p_query_page {
651 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
652 }
653 if let Some(ref param_value) = p_query_size {
654 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
655 }
656 if let Some(ref param_value) = p_query_order {
657 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
658 }
659 if let Some(ref param_value) = p_query_type {
660 req_builder = req_builder.query(&[("type", ¶m_value.to_string())]);
661 }
662 if let Some(ref param_value) = p_query_before {
663 req_builder = req_builder.query(&[("before", ¶m_value.to_string())]);
664 }
665 if let Some(ref param_value) = p_query_after {
666 req_builder = req_builder.query(&[("after", ¶m_value.to_string())]);
667 }
668 if let Some(ref user_agent) = configuration.user_agent {
669 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
670 }
671
672 let req = req_builder.build()?;
673 let resp = configuration.client.execute(req).await?;
674
675 let status = resp.status();
676 let content_type = resp
677 .headers()
678 .get("content-type")
679 .and_then(|v| v.to_str().ok())
680 .unwrap_or("application/octet-stream");
681 let content_type = super::ContentType::from(content_type);
682
683 if !status.is_client_error() && !status.is_server_error() {
684 let content = resp.text().await?;
685 match content_type {
686 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
687 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::FeedRelations>`"))),
688 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>`")))),
689 }
690 } else {
691 let content = resp.text().await?;
692 let entity: Option<GetUsersFeedsError> = serde_json::from_str(&content).ok();
693 Err(Error::ResponseError(ResponseContent {
694 status,
695 content,
696 entity,
697 }))
698 }
699}
700
701pub async fn get_users_has_perm(
702 configuration: &configuration::Configuration,
703 identifier: &str,
704 repo_ref: &str,
705 perm: models::Permission,
706) -> Result<bool, Error<GetUsersHasPermError>> {
707 let p_path_identifier = identifier;
709 let p_path_repo_ref = repo_ref;
710 let p_query_perm = perm;
711
712 let uri_str = format!(
713 "{}/users/{identifier}/{repo_ref}/+/has_perm",
714 configuration.base_path,
715 identifier = crate::apis::urlencode(p_path_identifier),
716 repo_ref = crate::apis::urlencode(p_path_repo_ref)
717 );
718 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
719
720 req_builder = req_builder.query(&[("perm", &p_query_perm.to_string())]);
721 if let Some(ref user_agent) = configuration.user_agent {
722 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
723 }
724
725 let req = req_builder.build()?;
726 let resp = configuration.client.execute(req).await?;
727
728 let status = resp.status();
729 let content_type = resp
730 .headers()
731 .get("content-type")
732 .and_then(|v| v.to_str().ok())
733 .unwrap_or("application/octet-stream");
734 let content_type = super::ContentType::from(content_type);
735
736 if !status.is_client_error() && !status.is_server_error() {
737 let content = resp.text().await?;
738 match content_type {
739 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
740 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `bool`"))),
741 ContentType::Unsupported(unknown_type) => Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `bool`")))),
742 }
743 } else {
744 let content = resp.text().await?;
745 let entity: Option<GetUsersHasPermError> = serde_json::from_str(&content).ok();
746 Err(Error::ResponseError(ResponseContent {
747 status,
748 content,
749 entity,
750 }))
751 }
752}
753
754pub async fn get_users_heatmap(
755 configuration: &configuration::Configuration,
756 identifier: &str,
757 before: Option<i64>,
758 after: Option<i64>,
759) -> Result<models::Heatmap, Error<GetUsersHeatmapError>> {
760 let p_path_identifier = identifier;
762 let p_query_before = before;
763 let p_query_after = after;
764
765 let uri_str = format!(
766 "{}/users/{identifier}/heatmap",
767 configuration.base_path,
768 identifier = crate::apis::urlencode(p_path_identifier)
769 );
770 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
771
772 if let Some(ref param_value) = p_query_before {
773 req_builder = req_builder.query(&[("before", ¶m_value.to_string())]);
774 }
775 if let Some(ref param_value) = p_query_after {
776 req_builder = req_builder.query(&[("after", ¶m_value.to_string())]);
777 }
778 if let Some(ref user_agent) = configuration.user_agent {
779 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
780 }
781
782 let req = req_builder.build()?;
783 let resp = configuration.client.execute(req).await?;
784
785 let status = resp.status();
786 let content_type = resp
787 .headers()
788 .get("content-type")
789 .and_then(|v| v.to_str().ok())
790 .unwrap_or("application/octet-stream");
791 let content_type = super::ContentType::from(content_type);
792
793 if !status.is_client_error() && !status.is_server_error() {
794 let content = resp.text().await?;
795 match content_type {
796 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
797 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Heatmap`"))),
798 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`")))),
799 }
800 } else {
801 let content = resp.text().await?;
802 let entity: Option<GetUsersHeatmapError> = serde_json::from_str(&content).ok();
803 Err(Error::ResponseError(ResponseContent {
804 status,
805 content,
806 entity,
807 }))
808 }
809}
810
811pub async fn get_users_stars(
812 configuration: &configuration::Configuration,
813 identifier: &str,
814 page: Option<i64>,
815 size: Option<i64>,
816 query: Option<&str>,
817 sort: Option<models::RepoSort>,
818 order: Option<models::OrderOption>,
819) -> Result<Vec<models::RepoParent>, Error<GetUsersStarsError>> {
820 let p_path_identifier = identifier;
822 let p_query_page = page;
823 let p_query_size = size;
824 let p_query_query = query;
825 let p_query_sort = sort;
826 let p_query_order = order;
827
828 let uri_str = format!(
829 "{}/users/{identifier}/stars",
830 configuration.base_path,
831 identifier = crate::apis::urlencode(p_path_identifier)
832 );
833 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
834
835 if let Some(ref param_value) = p_query_page {
836 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
837 }
838 if let Some(ref param_value) = p_query_size {
839 req_builder = req_builder.query(&[("size", ¶m_value.to_string())]);
840 }
841 if let Some(ref param_value) = p_query_query {
842 req_builder = req_builder.query(&[("query", ¶m_value.to_string())]);
843 }
844 if let Some(ref param_value) = p_query_sort {
845 req_builder = req_builder.query(&[("sort", ¶m_value.to_string())]);
846 }
847 if let Some(ref param_value) = p_query_order {
848 req_builder = req_builder.query(&[("order", ¶m_value.to_string())]);
849 }
850 if let Some(ref user_agent) = configuration.user_agent {
851 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
852 }
853
854 let req = req_builder.build()?;
855 let resp = configuration.client.execute(req).await?;
856
857 let status = resp.status();
858 let content_type = resp
859 .headers()
860 .get("content-type")
861 .and_then(|v| v.to_str().ok())
862 .unwrap_or("application/octet-stream");
863 let content_type = super::ContentType::from(content_type);
864
865 if !status.is_client_error() && !status.is_server_error() {
866 let content = resp.text().await?;
867 match content_type {
868 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
869 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::RepoParent>`"))),
870 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>`")))),
871 }
872 } else {
873 let content = resp.text().await?;
874 let entity: Option<GetUsersStarsError> = serde_json::from_str(&content).ok();
875 Err(Error::ResponseError(ResponseContent {
876 status,
877 content,
878 entity,
879 }))
880 }
881}
882
883pub async fn get_users_user(
884 configuration: &configuration::Configuration,
885 identifier: &str,
886) -> Result<models::UserModel, Error<GetUsersUserError>> {
887 let p_path_identifier = identifier;
889
890 let uri_str = format!(
891 "{}/users/{identifier}",
892 configuration.base_path,
893 identifier = crate::apis::urlencode(p_path_identifier)
894 );
895 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
896
897 if let Some(ref user_agent) = configuration.user_agent {
898 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
899 }
900
901 let req = req_builder.build()?;
902 let resp = configuration.client.execute(req).await?;
903
904 let status = resp.status();
905 let content_type = resp
906 .headers()
907 .get("content-type")
908 .and_then(|v| v.to_str().ok())
909 .unwrap_or("application/octet-stream");
910 let content_type = super::ContentType::from(content_type);
911
912 if !status.is_client_error() && !status.is_server_error() {
913 let content = resp.text().await?;
914 match content_type {
915 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
916 ContentType::Text => Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UserModel`"))),
917 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`")))),
918 }
919 } else {
920 let content = resp.text().await?;
921 let entity: Option<GetUsersUserError> = serde_json::from_str(&content).ok();
922 Err(Error::ResponseError(ResponseContent {
923 status,
924 content,
925 entity,
926 }))
927 }
928}