Skip to main content

gitea_client/apis/
user_api.rs

1/*
2 * Gitea API
3 *
4 * This documentation describes the Gitea API.
5 *
6 * The version of the OpenAPI document: 1.25.2
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13use serde::{Deserialize, Serialize, de::Error as _};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration, ContentType};
16
17
18/// struct for typed errors of method [`create_current_user_repo`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateCurrentUserRepoError {
22    Status400(),
23    Status409(),
24    Status422(),
25    UnknownValue(serde_json::Value),
26}
27
28/// struct for typed errors of method [`create_user_variable`]
29#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(untagged)]
31pub enum CreateUserVariableError {
32    Status400(),
33    Status409(),
34    UnknownValue(serde_json::Value),
35}
36
37/// struct for typed errors of method [`delete_user_runner`]
38#[derive(Debug, Clone, Serialize, Deserialize)]
39#[serde(untagged)]
40pub enum DeleteUserRunnerError {
41    Status400(),
42    Status404(),
43    UnknownValue(serde_json::Value),
44}
45
46/// struct for typed errors of method [`delete_user_secret`]
47#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum DeleteUserSecretError {
50    Status400(),
51    Status404(),
52    UnknownValue(serde_json::Value),
53}
54
55/// struct for typed errors of method [`delete_user_variable`]
56#[derive(Debug, Clone, Serialize, Deserialize)]
57#[serde(untagged)]
58pub enum DeleteUserVariableError {
59    Status400(),
60    Status404(),
61    UnknownValue(serde_json::Value),
62}
63
64/// struct for typed errors of method [`get_user_runner`]
65#[derive(Debug, Clone, Serialize, Deserialize)]
66#[serde(untagged)]
67pub enum GetUserRunnerError {
68    Status400(),
69    Status404(),
70    UnknownValue(serde_json::Value),
71}
72
73/// struct for typed errors of method [`get_user_runners`]
74#[derive(Debug, Clone, Serialize, Deserialize)]
75#[serde(untagged)]
76pub enum GetUserRunnersError {
77    Status400(),
78    Status404(),
79    UnknownValue(serde_json::Value),
80}
81
82/// struct for typed errors of method [`get_user_settings`]
83#[derive(Debug, Clone, Serialize, Deserialize)]
84#[serde(untagged)]
85pub enum GetUserSettingsError {
86    UnknownValue(serde_json::Value),
87}
88
89/// struct for typed errors of method [`get_user_variable`]
90#[derive(Debug, Clone, Serialize, Deserialize)]
91#[serde(untagged)]
92pub enum GetUserVariableError {
93    Status400(),
94    Status404(),
95    UnknownValue(serde_json::Value),
96}
97
98/// struct for typed errors of method [`get_user_variables_list`]
99#[derive(Debug, Clone, Serialize, Deserialize)]
100#[serde(untagged)]
101pub enum GetUserVariablesListError {
102    Status400(),
103    Status404(),
104    UnknownValue(serde_json::Value),
105}
106
107/// struct for typed errors of method [`get_user_workflow_jobs`]
108#[derive(Debug, Clone, Serialize, Deserialize)]
109#[serde(untagged)]
110pub enum GetUserWorkflowJobsError {
111    Status400(),
112    Status404(),
113    UnknownValue(serde_json::Value),
114}
115
116/// struct for typed errors of method [`get_user_workflow_runs`]
117#[derive(Debug, Clone, Serialize, Deserialize)]
118#[serde(untagged)]
119pub enum GetUserWorkflowRunsError {
120    Status400(),
121    Status404(),
122    UnknownValue(serde_json::Value),
123}
124
125/// struct for typed errors of method [`get_verification_token`]
126#[derive(Debug, Clone, Serialize, Deserialize)]
127#[serde(untagged)]
128pub enum GetVerificationTokenError {
129    Status404(),
130    UnknownValue(serde_json::Value),
131}
132
133/// struct for typed errors of method [`update_user_secret`]
134#[derive(Debug, Clone, Serialize, Deserialize)]
135#[serde(untagged)]
136pub enum UpdateUserSecretError {
137    Status400(),
138    Status404(),
139    UnknownValue(serde_json::Value),
140}
141
142/// struct for typed errors of method [`update_user_settings`]
143#[derive(Debug, Clone, Serialize, Deserialize)]
144#[serde(untagged)]
145pub enum UpdateUserSettingsError {
146    UnknownValue(serde_json::Value),
147}
148
149/// struct for typed errors of method [`update_user_variable`]
150#[derive(Debug, Clone, Serialize, Deserialize)]
151#[serde(untagged)]
152pub enum UpdateUserVariableError {
153    Status400(),
154    Status404(),
155    UnknownValue(serde_json::Value),
156}
157
158/// struct for typed errors of method [`user_add_email`]
159#[derive(Debug, Clone, Serialize, Deserialize)]
160#[serde(untagged)]
161pub enum UserAddEmailError {
162    Status422(),
163    UnknownValue(serde_json::Value),
164}
165
166/// struct for typed errors of method [`user_block_user`]
167#[derive(Debug, Clone, Serialize, Deserialize)]
168#[serde(untagged)]
169pub enum UserBlockUserError {
170    Status404(),
171    Status422(),
172    UnknownValue(serde_json::Value),
173}
174
175/// struct for typed errors of method [`user_check_following`]
176#[derive(Debug, Clone, Serialize, Deserialize)]
177#[serde(untagged)]
178pub enum UserCheckFollowingError {
179    Status404(),
180    UnknownValue(serde_json::Value),
181}
182
183/// struct for typed errors of method [`user_check_user_block`]
184#[derive(Debug, Clone, Serialize, Deserialize)]
185#[serde(untagged)]
186pub enum UserCheckUserBlockError {
187    Status404(),
188    UnknownValue(serde_json::Value),
189}
190
191/// struct for typed errors of method [`user_create_hook`]
192#[derive(Debug, Clone, Serialize, Deserialize)]
193#[serde(untagged)]
194pub enum UserCreateHookError {
195    UnknownValue(serde_json::Value),
196}
197
198/// struct for typed errors of method [`user_create_o_auth2_application`]
199#[derive(Debug, Clone, Serialize, Deserialize)]
200#[serde(untagged)]
201pub enum UserCreateOAuth2ApplicationError {
202    Status400(),
203    UnknownValue(serde_json::Value),
204}
205
206/// struct for typed errors of method [`user_create_runner_registration_token`]
207#[derive(Debug, Clone, Serialize, Deserialize)]
208#[serde(untagged)]
209pub enum UserCreateRunnerRegistrationTokenError {
210    UnknownValue(serde_json::Value),
211}
212
213/// struct for typed errors of method [`user_create_token`]
214#[derive(Debug, Clone, Serialize, Deserialize)]
215#[serde(untagged)]
216pub enum UserCreateTokenError {
217    Status400(),
218    Status403(),
219    UnknownValue(serde_json::Value),
220}
221
222/// struct for typed errors of method [`user_current_check_following`]
223#[derive(Debug, Clone, Serialize, Deserialize)]
224#[serde(untagged)]
225pub enum UserCurrentCheckFollowingError {
226    Status404(),
227    UnknownValue(serde_json::Value),
228}
229
230/// struct for typed errors of method [`user_current_check_starring`]
231#[derive(Debug, Clone, Serialize, Deserialize)]
232#[serde(untagged)]
233pub enum UserCurrentCheckStarringError {
234    Status403(),
235    Status404(),
236    UnknownValue(serde_json::Value),
237}
238
239/// struct for typed errors of method [`user_current_delete_follow`]
240#[derive(Debug, Clone, Serialize, Deserialize)]
241#[serde(untagged)]
242pub enum UserCurrentDeleteFollowError {
243    Status404(),
244    UnknownValue(serde_json::Value),
245}
246
247/// struct for typed errors of method [`user_current_delete_gpg_key`]
248#[derive(Debug, Clone, Serialize, Deserialize)]
249#[serde(untagged)]
250pub enum UserCurrentDeleteGpgKeyError {
251    Status403(),
252    Status404(),
253    UnknownValue(serde_json::Value),
254}
255
256/// struct for typed errors of method [`user_current_delete_key`]
257#[derive(Debug, Clone, Serialize, Deserialize)]
258#[serde(untagged)]
259pub enum UserCurrentDeleteKeyError {
260    Status403(),
261    Status404(),
262    UnknownValue(serde_json::Value),
263}
264
265/// struct for typed errors of method [`user_current_delete_star`]
266#[derive(Debug, Clone, Serialize, Deserialize)]
267#[serde(untagged)]
268pub enum UserCurrentDeleteStarError {
269    Status403(),
270    Status404(),
271    UnknownValue(serde_json::Value),
272}
273
274/// struct for typed errors of method [`user_current_get_gpg_key`]
275#[derive(Debug, Clone, Serialize, Deserialize)]
276#[serde(untagged)]
277pub enum UserCurrentGetGpgKeyError {
278    Status404(),
279    UnknownValue(serde_json::Value),
280}
281
282/// struct for typed errors of method [`user_current_get_key`]
283#[derive(Debug, Clone, Serialize, Deserialize)]
284#[serde(untagged)]
285pub enum UserCurrentGetKeyError {
286    Status404(),
287    UnknownValue(serde_json::Value),
288}
289
290/// struct for typed errors of method [`user_current_list_followers`]
291#[derive(Debug, Clone, Serialize, Deserialize)]
292#[serde(untagged)]
293pub enum UserCurrentListFollowersError {
294    UnknownValue(serde_json::Value),
295}
296
297/// struct for typed errors of method [`user_current_list_following`]
298#[derive(Debug, Clone, Serialize, Deserialize)]
299#[serde(untagged)]
300pub enum UserCurrentListFollowingError {
301    UnknownValue(serde_json::Value),
302}
303
304/// struct for typed errors of method [`user_current_list_gpg_keys`]
305#[derive(Debug, Clone, Serialize, Deserialize)]
306#[serde(untagged)]
307pub enum UserCurrentListGpgKeysError {
308    UnknownValue(serde_json::Value),
309}
310
311/// struct for typed errors of method [`user_current_list_keys`]
312#[derive(Debug, Clone, Serialize, Deserialize)]
313#[serde(untagged)]
314pub enum UserCurrentListKeysError {
315    UnknownValue(serde_json::Value),
316}
317
318/// struct for typed errors of method [`user_current_list_repos`]
319#[derive(Debug, Clone, Serialize, Deserialize)]
320#[serde(untagged)]
321pub enum UserCurrentListReposError {
322    UnknownValue(serde_json::Value),
323}
324
325/// struct for typed errors of method [`user_current_list_starred`]
326#[derive(Debug, Clone, Serialize, Deserialize)]
327#[serde(untagged)]
328pub enum UserCurrentListStarredError {
329    Status403(),
330    UnknownValue(serde_json::Value),
331}
332
333/// struct for typed errors of method [`user_current_list_subscriptions`]
334#[derive(Debug, Clone, Serialize, Deserialize)]
335#[serde(untagged)]
336pub enum UserCurrentListSubscriptionsError {
337    UnknownValue(serde_json::Value),
338}
339
340/// struct for typed errors of method [`user_current_post_gpg_key`]
341#[derive(Debug, Clone, Serialize, Deserialize)]
342#[serde(untagged)]
343pub enum UserCurrentPostGpgKeyError {
344    Status404(),
345    Status422(),
346    UnknownValue(serde_json::Value),
347}
348
349/// struct for typed errors of method [`user_current_post_key`]
350#[derive(Debug, Clone, Serialize, Deserialize)]
351#[serde(untagged)]
352pub enum UserCurrentPostKeyError {
353    Status422(),
354    UnknownValue(serde_json::Value),
355}
356
357/// struct for typed errors of method [`user_current_put_follow`]
358#[derive(Debug, Clone, Serialize, Deserialize)]
359#[serde(untagged)]
360pub enum UserCurrentPutFollowError {
361    Status403(),
362    Status404(),
363    UnknownValue(serde_json::Value),
364}
365
366/// struct for typed errors of method [`user_current_put_star`]
367#[derive(Debug, Clone, Serialize, Deserialize)]
368#[serde(untagged)]
369pub enum UserCurrentPutStarError {
370    Status403(),
371    Status404(),
372    UnknownValue(serde_json::Value),
373}
374
375/// struct for typed errors of method [`user_current_tracked_times`]
376#[derive(Debug, Clone, Serialize, Deserialize)]
377#[serde(untagged)]
378pub enum UserCurrentTrackedTimesError {
379    UnknownValue(serde_json::Value),
380}
381
382/// struct for typed errors of method [`user_delete_access_token`]
383#[derive(Debug, Clone, Serialize, Deserialize)]
384#[serde(untagged)]
385pub enum UserDeleteAccessTokenError {
386    Status403(),
387    Status404(),
388    Status422(),
389    UnknownValue(serde_json::Value),
390}
391
392/// struct for typed errors of method [`user_delete_avatar`]
393#[derive(Debug, Clone, Serialize, Deserialize)]
394#[serde(untagged)]
395pub enum UserDeleteAvatarError {
396    UnknownValue(serde_json::Value),
397}
398
399/// struct for typed errors of method [`user_delete_email`]
400#[derive(Debug, Clone, Serialize, Deserialize)]
401#[serde(untagged)]
402pub enum UserDeleteEmailError {
403    Status404(),
404    UnknownValue(serde_json::Value),
405}
406
407/// struct for typed errors of method [`user_delete_hook`]
408#[derive(Debug, Clone, Serialize, Deserialize)]
409#[serde(untagged)]
410pub enum UserDeleteHookError {
411    UnknownValue(serde_json::Value),
412}
413
414/// struct for typed errors of method [`user_delete_o_auth2_application`]
415#[derive(Debug, Clone, Serialize, Deserialize)]
416#[serde(untagged)]
417pub enum UserDeleteOAuth2ApplicationError {
418    Status404(),
419    UnknownValue(serde_json::Value),
420}
421
422/// struct for typed errors of method [`user_edit_hook`]
423#[derive(Debug, Clone, Serialize, Deserialize)]
424#[serde(untagged)]
425pub enum UserEditHookError {
426    UnknownValue(serde_json::Value),
427}
428
429/// struct for typed errors of method [`user_get`]
430#[derive(Debug, Clone, Serialize, Deserialize)]
431#[serde(untagged)]
432pub enum UserGetError {
433    Status404(),
434    UnknownValue(serde_json::Value),
435}
436
437/// struct for typed errors of method [`user_get_current`]
438#[derive(Debug, Clone, Serialize, Deserialize)]
439#[serde(untagged)]
440pub enum UserGetCurrentError {
441    UnknownValue(serde_json::Value),
442}
443
444/// struct for typed errors of method [`user_get_heatmap_data`]
445#[derive(Debug, Clone, Serialize, Deserialize)]
446#[serde(untagged)]
447pub enum UserGetHeatmapDataError {
448    Status404(),
449    UnknownValue(serde_json::Value),
450}
451
452/// struct for typed errors of method [`user_get_hook`]
453#[derive(Debug, Clone, Serialize, Deserialize)]
454#[serde(untagged)]
455pub enum UserGetHookError {
456    UnknownValue(serde_json::Value),
457}
458
459/// struct for typed errors of method [`user_get_o_auth2_application`]
460#[derive(Debug, Clone, Serialize, Deserialize)]
461#[serde(untagged)]
462pub enum UserGetOAuth2ApplicationError {
463    Status404(),
464    UnknownValue(serde_json::Value),
465}
466
467/// struct for typed errors of method [`user_get_oauth2_application`]
468#[derive(Debug, Clone, Serialize, Deserialize)]
469#[serde(untagged)]
470pub enum UserGetOauth2ApplicationError {
471    UnknownValue(serde_json::Value),
472}
473
474/// struct for typed errors of method [`user_get_runner_registration_token`]
475#[derive(Debug, Clone, Serialize, Deserialize)]
476#[serde(untagged)]
477pub enum UserGetRunnerRegistrationTokenError {
478    UnknownValue(serde_json::Value),
479}
480
481/// struct for typed errors of method [`user_get_stop_watches`]
482#[derive(Debug, Clone, Serialize, Deserialize)]
483#[serde(untagged)]
484pub enum UserGetStopWatchesError {
485    UnknownValue(serde_json::Value),
486}
487
488/// struct for typed errors of method [`user_get_tokens`]
489#[derive(Debug, Clone, Serialize, Deserialize)]
490#[serde(untagged)]
491pub enum UserGetTokensError {
492    Status403(),
493    UnknownValue(serde_json::Value),
494}
495
496/// struct for typed errors of method [`user_list_activity_feeds`]
497#[derive(Debug, Clone, Serialize, Deserialize)]
498#[serde(untagged)]
499pub enum UserListActivityFeedsError {
500    Status404(),
501    UnknownValue(serde_json::Value),
502}
503
504/// struct for typed errors of method [`user_list_blocks`]
505#[derive(Debug, Clone, Serialize, Deserialize)]
506#[serde(untagged)]
507pub enum UserListBlocksError {
508    UnknownValue(serde_json::Value),
509}
510
511/// struct for typed errors of method [`user_list_emails`]
512#[derive(Debug, Clone, Serialize, Deserialize)]
513#[serde(untagged)]
514pub enum UserListEmailsError {
515    UnknownValue(serde_json::Value),
516}
517
518/// struct for typed errors of method [`user_list_followers`]
519#[derive(Debug, Clone, Serialize, Deserialize)]
520#[serde(untagged)]
521pub enum UserListFollowersError {
522    Status404(),
523    UnknownValue(serde_json::Value),
524}
525
526/// struct for typed errors of method [`user_list_following`]
527#[derive(Debug, Clone, Serialize, Deserialize)]
528#[serde(untagged)]
529pub enum UserListFollowingError {
530    Status404(),
531    UnknownValue(serde_json::Value),
532}
533
534/// struct for typed errors of method [`user_list_gpg_keys`]
535#[derive(Debug, Clone, Serialize, Deserialize)]
536#[serde(untagged)]
537pub enum UserListGpgKeysError {
538    Status404(),
539    UnknownValue(serde_json::Value),
540}
541
542/// struct for typed errors of method [`user_list_hooks`]
543#[derive(Debug, Clone, Serialize, Deserialize)]
544#[serde(untagged)]
545pub enum UserListHooksError {
546    UnknownValue(serde_json::Value),
547}
548
549/// struct for typed errors of method [`user_list_keys`]
550#[derive(Debug, Clone, Serialize, Deserialize)]
551#[serde(untagged)]
552pub enum UserListKeysError {
553    Status404(),
554    UnknownValue(serde_json::Value),
555}
556
557/// struct for typed errors of method [`user_list_repos`]
558#[derive(Debug, Clone, Serialize, Deserialize)]
559#[serde(untagged)]
560pub enum UserListReposError {
561    Status404(),
562    UnknownValue(serde_json::Value),
563}
564
565/// struct for typed errors of method [`user_list_starred`]
566#[derive(Debug, Clone, Serialize, Deserialize)]
567#[serde(untagged)]
568pub enum UserListStarredError {
569    Status403(),
570    Status404(),
571    UnknownValue(serde_json::Value),
572}
573
574/// struct for typed errors of method [`user_list_subscriptions`]
575#[derive(Debug, Clone, Serialize, Deserialize)]
576#[serde(untagged)]
577pub enum UserListSubscriptionsError {
578    Status404(),
579    UnknownValue(serde_json::Value),
580}
581
582/// struct for typed errors of method [`user_list_teams`]
583#[derive(Debug, Clone, Serialize, Deserialize)]
584#[serde(untagged)]
585pub enum UserListTeamsError {
586    UnknownValue(serde_json::Value),
587}
588
589/// struct for typed errors of method [`user_search`]
590#[derive(Debug, Clone, Serialize, Deserialize)]
591#[serde(untagged)]
592pub enum UserSearchError {
593    UnknownValue(serde_json::Value),
594}
595
596/// struct for typed errors of method [`user_unblock_user`]
597#[derive(Debug, Clone, Serialize, Deserialize)]
598#[serde(untagged)]
599pub enum UserUnblockUserError {
600    Status404(),
601    Status422(),
602    UnknownValue(serde_json::Value),
603}
604
605/// struct for typed errors of method [`user_update_avatar`]
606#[derive(Debug, Clone, Serialize, Deserialize)]
607#[serde(untagged)]
608pub enum UserUpdateAvatarError {
609    UnknownValue(serde_json::Value),
610}
611
612/// struct for typed errors of method [`user_update_o_auth2_application`]
613#[derive(Debug, Clone, Serialize, Deserialize)]
614#[serde(untagged)]
615pub enum UserUpdateOAuth2ApplicationError {
616    Status404(),
617    UnknownValue(serde_json::Value),
618}
619
620/// struct for typed errors of method [`user_verify_gpg_key`]
621#[derive(Debug, Clone, Serialize, Deserialize)]
622#[serde(untagged)]
623pub enum UserVerifyGpgKeyError {
624    Status404(),
625    Status422(),
626    UnknownValue(serde_json::Value),
627}
628
629
630pub async fn create_current_user_repo(configuration: &configuration::Configuration, body: Option<models::CreateRepoOption>) -> Result<models::Repository, Error<CreateCurrentUserRepoError>> {
631    // add a prefix to parameters to efficiently prevent name collisions
632    let p_body_body = body;
633
634    let uri_str = format!("{}/user/repos", configuration.base_path);
635    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
636
637    if let Some(ref apikey) = configuration.api_key {
638        let key = apikey.key.clone();
639        let value = match apikey.prefix {
640            Some(ref prefix) => format!("{} {}", prefix, key),
641            None => key,
642        };
643        req_builder = req_builder.query(&[("access_token", value)]);
644    }
645    if let Some(ref apikey) = configuration.api_key {
646        let key = apikey.key.clone();
647        let value = match apikey.prefix {
648            Some(ref prefix) => format!("{} {}", prefix, key),
649            None => key,
650        };
651        req_builder = req_builder.query(&[("sudo", value)]);
652    }
653    if let Some(ref apikey) = configuration.api_key {
654        let key = apikey.key.clone();
655        let value = match apikey.prefix {
656            Some(ref prefix) => format!("{} {}", prefix, key),
657            None => key,
658        };
659        req_builder = req_builder.query(&[("token", value)]);
660    }
661    if let Some(ref user_agent) = configuration.user_agent {
662        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
663    }
664    if let Some(ref apikey) = configuration.api_key {
665        let key = apikey.key.clone();
666        let value = match apikey.prefix {
667            Some(ref prefix) => format!("{} {}", prefix, key),
668            None => key,
669        };
670        req_builder = req_builder.header("X-GITEA-OTP", value);
671    };
672    if let Some(ref apikey) = configuration.api_key {
673        let key = apikey.key.clone();
674        let value = match apikey.prefix {
675            Some(ref prefix) => format!("{} {}", prefix, key),
676            None => key,
677        };
678        req_builder = req_builder.header("Authorization", value);
679    };
680    if let Some(ref apikey) = configuration.api_key {
681        let key = apikey.key.clone();
682        let value = match apikey.prefix {
683            Some(ref prefix) => format!("{} {}", prefix, key),
684            None => key,
685        };
686        req_builder = req_builder.header("Sudo", value);
687    };
688    if let Some(ref auth_conf) = configuration.basic_auth {
689        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
690    };
691    req_builder = req_builder.json(&p_body_body);
692
693    let req = req_builder.build()?;
694    let resp = configuration.client.execute(req).await?;
695
696    let status = resp.status();
697    let content_type = resp
698        .headers()
699        .get("content-type")
700        .and_then(|v| v.to_str().ok())
701        .unwrap_or("application/octet-stream");
702    let content_type = super::ContentType::from(content_type);
703
704    if !status.is_client_error() && !status.is_server_error() {
705        let content = resp.text().await?;
706        match content_type {
707            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
708            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Repository`"))),
709            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Repository`")))),
710        }
711    } else {
712        let content = resp.text().await?;
713        let entity: Option<CreateCurrentUserRepoError> = serde_json::from_str(&content).ok();
714        Err(Error::ResponseError(ResponseContent { status, content, entity }))
715    }
716}
717
718pub async fn create_user_variable(configuration: &configuration::Configuration, variablename: &str, body: Option<models::CreateVariableOption>) -> Result<(), Error<CreateUserVariableError>> {
719    // add a prefix to parameters to efficiently prevent name collisions
720    let p_path_variablename = variablename;
721    let p_body_body = body;
722
723    let uri_str = format!("{}/user/actions/variables/{variablename}", configuration.base_path, variablename=crate::apis::urlencode(p_path_variablename));
724    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
725
726    if let Some(ref apikey) = configuration.api_key {
727        let key = apikey.key.clone();
728        let value = match apikey.prefix {
729            Some(ref prefix) => format!("{} {}", prefix, key),
730            None => key,
731        };
732        req_builder = req_builder.query(&[("access_token", value)]);
733    }
734    if let Some(ref apikey) = configuration.api_key {
735        let key = apikey.key.clone();
736        let value = match apikey.prefix {
737            Some(ref prefix) => format!("{} {}", prefix, key),
738            None => key,
739        };
740        req_builder = req_builder.query(&[("sudo", value)]);
741    }
742    if let Some(ref apikey) = configuration.api_key {
743        let key = apikey.key.clone();
744        let value = match apikey.prefix {
745            Some(ref prefix) => format!("{} {}", prefix, key),
746            None => key,
747        };
748        req_builder = req_builder.query(&[("token", value)]);
749    }
750    if let Some(ref user_agent) = configuration.user_agent {
751        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
752    }
753    if let Some(ref apikey) = configuration.api_key {
754        let key = apikey.key.clone();
755        let value = match apikey.prefix {
756            Some(ref prefix) => format!("{} {}", prefix, key),
757            None => key,
758        };
759        req_builder = req_builder.header("X-GITEA-OTP", value);
760    };
761    if let Some(ref apikey) = configuration.api_key {
762        let key = apikey.key.clone();
763        let value = match apikey.prefix {
764            Some(ref prefix) => format!("{} {}", prefix, key),
765            None => key,
766        };
767        req_builder = req_builder.header("Authorization", value);
768    };
769    if let Some(ref apikey) = configuration.api_key {
770        let key = apikey.key.clone();
771        let value = match apikey.prefix {
772            Some(ref prefix) => format!("{} {}", prefix, key),
773            None => key,
774        };
775        req_builder = req_builder.header("Sudo", value);
776    };
777    if let Some(ref auth_conf) = configuration.basic_auth {
778        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
779    };
780    req_builder = req_builder.json(&p_body_body);
781
782    let req = req_builder.build()?;
783    let resp = configuration.client.execute(req).await?;
784
785    let status = resp.status();
786
787    if !status.is_client_error() && !status.is_server_error() {
788        Ok(())
789    } else {
790        let content = resp.text().await?;
791        let entity: Option<CreateUserVariableError> = serde_json::from_str(&content).ok();
792        Err(Error::ResponseError(ResponseContent { status, content, entity }))
793    }
794}
795
796pub async fn delete_user_runner(configuration: &configuration::Configuration, runner_id: &str) -> Result<(), Error<DeleteUserRunnerError>> {
797    // add a prefix to parameters to efficiently prevent name collisions
798    let p_path_runner_id = runner_id;
799
800    let uri_str = format!("{}/user/actions/runners/{runner_id}", configuration.base_path, runner_id=crate::apis::urlencode(p_path_runner_id));
801    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
802
803    if let Some(ref apikey) = configuration.api_key {
804        let key = apikey.key.clone();
805        let value = match apikey.prefix {
806            Some(ref prefix) => format!("{} {}", prefix, key),
807            None => key,
808        };
809        req_builder = req_builder.query(&[("access_token", value)]);
810    }
811    if let Some(ref apikey) = configuration.api_key {
812        let key = apikey.key.clone();
813        let value = match apikey.prefix {
814            Some(ref prefix) => format!("{} {}", prefix, key),
815            None => key,
816        };
817        req_builder = req_builder.query(&[("sudo", value)]);
818    }
819    if let Some(ref apikey) = configuration.api_key {
820        let key = apikey.key.clone();
821        let value = match apikey.prefix {
822            Some(ref prefix) => format!("{} {}", prefix, key),
823            None => key,
824        };
825        req_builder = req_builder.query(&[("token", value)]);
826    }
827    if let Some(ref user_agent) = configuration.user_agent {
828        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
829    }
830    if let Some(ref apikey) = configuration.api_key {
831        let key = apikey.key.clone();
832        let value = match apikey.prefix {
833            Some(ref prefix) => format!("{} {}", prefix, key),
834            None => key,
835        };
836        req_builder = req_builder.header("X-GITEA-OTP", value);
837    };
838    if let Some(ref apikey) = configuration.api_key {
839        let key = apikey.key.clone();
840        let value = match apikey.prefix {
841            Some(ref prefix) => format!("{} {}", prefix, key),
842            None => key,
843        };
844        req_builder = req_builder.header("Authorization", value);
845    };
846    if let Some(ref apikey) = configuration.api_key {
847        let key = apikey.key.clone();
848        let value = match apikey.prefix {
849            Some(ref prefix) => format!("{} {}", prefix, key),
850            None => key,
851        };
852        req_builder = req_builder.header("Sudo", value);
853    };
854    if let Some(ref auth_conf) = configuration.basic_auth {
855        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
856    };
857
858    let req = req_builder.build()?;
859    let resp = configuration.client.execute(req).await?;
860
861    let status = resp.status();
862
863    if !status.is_client_error() && !status.is_server_error() {
864        Ok(())
865    } else {
866        let content = resp.text().await?;
867        let entity: Option<DeleteUserRunnerError> = serde_json::from_str(&content).ok();
868        Err(Error::ResponseError(ResponseContent { status, content, entity }))
869    }
870}
871
872pub async fn delete_user_secret(configuration: &configuration::Configuration, secretname: &str) -> Result<(), Error<DeleteUserSecretError>> {
873    // add a prefix to parameters to efficiently prevent name collisions
874    let p_path_secretname = secretname;
875
876    let uri_str = format!("{}/user/actions/secrets/{secretname}", configuration.base_path, secretname=crate::apis::urlencode(p_path_secretname));
877    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
878
879    if let Some(ref apikey) = configuration.api_key {
880        let key = apikey.key.clone();
881        let value = match apikey.prefix {
882            Some(ref prefix) => format!("{} {}", prefix, key),
883            None => key,
884        };
885        req_builder = req_builder.query(&[("access_token", value)]);
886    }
887    if let Some(ref apikey) = configuration.api_key {
888        let key = apikey.key.clone();
889        let value = match apikey.prefix {
890            Some(ref prefix) => format!("{} {}", prefix, key),
891            None => key,
892        };
893        req_builder = req_builder.query(&[("sudo", value)]);
894    }
895    if let Some(ref apikey) = configuration.api_key {
896        let key = apikey.key.clone();
897        let value = match apikey.prefix {
898            Some(ref prefix) => format!("{} {}", prefix, key),
899            None => key,
900        };
901        req_builder = req_builder.query(&[("token", value)]);
902    }
903    if let Some(ref user_agent) = configuration.user_agent {
904        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
905    }
906    if let Some(ref apikey) = configuration.api_key {
907        let key = apikey.key.clone();
908        let value = match apikey.prefix {
909            Some(ref prefix) => format!("{} {}", prefix, key),
910            None => key,
911        };
912        req_builder = req_builder.header("X-GITEA-OTP", value);
913    };
914    if let Some(ref apikey) = configuration.api_key {
915        let key = apikey.key.clone();
916        let value = match apikey.prefix {
917            Some(ref prefix) => format!("{} {}", prefix, key),
918            None => key,
919        };
920        req_builder = req_builder.header("Authorization", value);
921    };
922    if let Some(ref apikey) = configuration.api_key {
923        let key = apikey.key.clone();
924        let value = match apikey.prefix {
925            Some(ref prefix) => format!("{} {}", prefix, key),
926            None => key,
927        };
928        req_builder = req_builder.header("Sudo", value);
929    };
930    if let Some(ref auth_conf) = configuration.basic_auth {
931        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
932    };
933
934    let req = req_builder.build()?;
935    let resp = configuration.client.execute(req).await?;
936
937    let status = resp.status();
938
939    if !status.is_client_error() && !status.is_server_error() {
940        Ok(())
941    } else {
942        let content = resp.text().await?;
943        let entity: Option<DeleteUserSecretError> = serde_json::from_str(&content).ok();
944        Err(Error::ResponseError(ResponseContent { status, content, entity }))
945    }
946}
947
948pub async fn delete_user_variable(configuration: &configuration::Configuration, variablename: &str) -> Result<(), Error<DeleteUserVariableError>> {
949    // add a prefix to parameters to efficiently prevent name collisions
950    let p_path_variablename = variablename;
951
952    let uri_str = format!("{}/user/actions/variables/{variablename}", configuration.base_path, variablename=crate::apis::urlencode(p_path_variablename));
953    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
954
955    if let Some(ref apikey) = configuration.api_key {
956        let key = apikey.key.clone();
957        let value = match apikey.prefix {
958            Some(ref prefix) => format!("{} {}", prefix, key),
959            None => key,
960        };
961        req_builder = req_builder.query(&[("access_token", value)]);
962    }
963    if let Some(ref apikey) = configuration.api_key {
964        let key = apikey.key.clone();
965        let value = match apikey.prefix {
966            Some(ref prefix) => format!("{} {}", prefix, key),
967            None => key,
968        };
969        req_builder = req_builder.query(&[("sudo", value)]);
970    }
971    if let Some(ref apikey) = configuration.api_key {
972        let key = apikey.key.clone();
973        let value = match apikey.prefix {
974            Some(ref prefix) => format!("{} {}", prefix, key),
975            None => key,
976        };
977        req_builder = req_builder.query(&[("token", value)]);
978    }
979    if let Some(ref user_agent) = configuration.user_agent {
980        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
981    }
982    if let Some(ref apikey) = configuration.api_key {
983        let key = apikey.key.clone();
984        let value = match apikey.prefix {
985            Some(ref prefix) => format!("{} {}", prefix, key),
986            None => key,
987        };
988        req_builder = req_builder.header("X-GITEA-OTP", value);
989    };
990    if let Some(ref apikey) = configuration.api_key {
991        let key = apikey.key.clone();
992        let value = match apikey.prefix {
993            Some(ref prefix) => format!("{} {}", prefix, key),
994            None => key,
995        };
996        req_builder = req_builder.header("Authorization", value);
997    };
998    if let Some(ref apikey) = configuration.api_key {
999        let key = apikey.key.clone();
1000        let value = match apikey.prefix {
1001            Some(ref prefix) => format!("{} {}", prefix, key),
1002            None => key,
1003        };
1004        req_builder = req_builder.header("Sudo", value);
1005    };
1006    if let Some(ref auth_conf) = configuration.basic_auth {
1007        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1008    };
1009
1010    let req = req_builder.build()?;
1011    let resp = configuration.client.execute(req).await?;
1012
1013    let status = resp.status();
1014
1015    if !status.is_client_error() && !status.is_server_error() {
1016        Ok(())
1017    } else {
1018        let content = resp.text().await?;
1019        let entity: Option<DeleteUserVariableError> = serde_json::from_str(&content).ok();
1020        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1021    }
1022}
1023
1024pub async fn get_user_runner(configuration: &configuration::Configuration, runner_id: &str) -> Result<(), Error<GetUserRunnerError>> {
1025    // add a prefix to parameters to efficiently prevent name collisions
1026    let p_path_runner_id = runner_id;
1027
1028    let uri_str = format!("{}/user/actions/runners/{runner_id}", configuration.base_path, runner_id=crate::apis::urlencode(p_path_runner_id));
1029    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1030
1031    if let Some(ref apikey) = configuration.api_key {
1032        let key = apikey.key.clone();
1033        let value = match apikey.prefix {
1034            Some(ref prefix) => format!("{} {}", prefix, key),
1035            None => key,
1036        };
1037        req_builder = req_builder.query(&[("access_token", value)]);
1038    }
1039    if let Some(ref apikey) = configuration.api_key {
1040        let key = apikey.key.clone();
1041        let value = match apikey.prefix {
1042            Some(ref prefix) => format!("{} {}", prefix, key),
1043            None => key,
1044        };
1045        req_builder = req_builder.query(&[("sudo", value)]);
1046    }
1047    if let Some(ref apikey) = configuration.api_key {
1048        let key = apikey.key.clone();
1049        let value = match apikey.prefix {
1050            Some(ref prefix) => format!("{} {}", prefix, key),
1051            None => key,
1052        };
1053        req_builder = req_builder.query(&[("token", value)]);
1054    }
1055    if let Some(ref user_agent) = configuration.user_agent {
1056        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1057    }
1058    if let Some(ref apikey) = configuration.api_key {
1059        let key = apikey.key.clone();
1060        let value = match apikey.prefix {
1061            Some(ref prefix) => format!("{} {}", prefix, key),
1062            None => key,
1063        };
1064        req_builder = req_builder.header("X-GITEA-OTP", value);
1065    };
1066    if let Some(ref apikey) = configuration.api_key {
1067        let key = apikey.key.clone();
1068        let value = match apikey.prefix {
1069            Some(ref prefix) => format!("{} {}", prefix, key),
1070            None => key,
1071        };
1072        req_builder = req_builder.header("Authorization", value);
1073    };
1074    if let Some(ref apikey) = configuration.api_key {
1075        let key = apikey.key.clone();
1076        let value = match apikey.prefix {
1077            Some(ref prefix) => format!("{} {}", prefix, key),
1078            None => key,
1079        };
1080        req_builder = req_builder.header("Sudo", value);
1081    };
1082    if let Some(ref auth_conf) = configuration.basic_auth {
1083        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1084    };
1085
1086    let req = req_builder.build()?;
1087    let resp = configuration.client.execute(req).await?;
1088
1089    let status = resp.status();
1090
1091    if !status.is_client_error() && !status.is_server_error() {
1092        Ok(())
1093    } else {
1094        let content = resp.text().await?;
1095        let entity: Option<GetUserRunnerError> = serde_json::from_str(&content).ok();
1096        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1097    }
1098}
1099
1100pub async fn get_user_runners(configuration: &configuration::Configuration, ) -> Result<(), Error<GetUserRunnersError>> {
1101
1102    let uri_str = format!("{}/user/actions/runners", configuration.base_path);
1103    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1104
1105    if let Some(ref apikey) = configuration.api_key {
1106        let key = apikey.key.clone();
1107        let value = match apikey.prefix {
1108            Some(ref prefix) => format!("{} {}", prefix, key),
1109            None => key,
1110        };
1111        req_builder = req_builder.query(&[("access_token", value)]);
1112    }
1113    if let Some(ref apikey) = configuration.api_key {
1114        let key = apikey.key.clone();
1115        let value = match apikey.prefix {
1116            Some(ref prefix) => format!("{} {}", prefix, key),
1117            None => key,
1118        };
1119        req_builder = req_builder.query(&[("sudo", value)]);
1120    }
1121    if let Some(ref apikey) = configuration.api_key {
1122        let key = apikey.key.clone();
1123        let value = match apikey.prefix {
1124            Some(ref prefix) => format!("{} {}", prefix, key),
1125            None => key,
1126        };
1127        req_builder = req_builder.query(&[("token", value)]);
1128    }
1129    if let Some(ref user_agent) = configuration.user_agent {
1130        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1131    }
1132    if let Some(ref apikey) = configuration.api_key {
1133        let key = apikey.key.clone();
1134        let value = match apikey.prefix {
1135            Some(ref prefix) => format!("{} {}", prefix, key),
1136            None => key,
1137        };
1138        req_builder = req_builder.header("X-GITEA-OTP", value);
1139    };
1140    if let Some(ref apikey) = configuration.api_key {
1141        let key = apikey.key.clone();
1142        let value = match apikey.prefix {
1143            Some(ref prefix) => format!("{} {}", prefix, key),
1144            None => key,
1145        };
1146        req_builder = req_builder.header("Authorization", value);
1147    };
1148    if let Some(ref apikey) = configuration.api_key {
1149        let key = apikey.key.clone();
1150        let value = match apikey.prefix {
1151            Some(ref prefix) => format!("{} {}", prefix, key),
1152            None => key,
1153        };
1154        req_builder = req_builder.header("Sudo", value);
1155    };
1156    if let Some(ref auth_conf) = configuration.basic_auth {
1157        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1158    };
1159
1160    let req = req_builder.build()?;
1161    let resp = configuration.client.execute(req).await?;
1162
1163    let status = resp.status();
1164
1165    if !status.is_client_error() && !status.is_server_error() {
1166        Ok(())
1167    } else {
1168        let content = resp.text().await?;
1169        let entity: Option<GetUserRunnersError> = serde_json::from_str(&content).ok();
1170        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1171    }
1172}
1173
1174pub async fn get_user_settings(configuration: &configuration::Configuration, ) -> Result<Vec<models::UserSettings>, Error<GetUserSettingsError>> {
1175
1176    let uri_str = format!("{}/user/settings", configuration.base_path);
1177    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1178
1179    if let Some(ref apikey) = configuration.api_key {
1180        let key = apikey.key.clone();
1181        let value = match apikey.prefix {
1182            Some(ref prefix) => format!("{} {}", prefix, key),
1183            None => key,
1184        };
1185        req_builder = req_builder.query(&[("access_token", value)]);
1186    }
1187    if let Some(ref apikey) = configuration.api_key {
1188        let key = apikey.key.clone();
1189        let value = match apikey.prefix {
1190            Some(ref prefix) => format!("{} {}", prefix, key),
1191            None => key,
1192        };
1193        req_builder = req_builder.query(&[("sudo", value)]);
1194    }
1195    if let Some(ref apikey) = configuration.api_key {
1196        let key = apikey.key.clone();
1197        let value = match apikey.prefix {
1198            Some(ref prefix) => format!("{} {}", prefix, key),
1199            None => key,
1200        };
1201        req_builder = req_builder.query(&[("token", value)]);
1202    }
1203    if let Some(ref user_agent) = configuration.user_agent {
1204        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1205    }
1206    if let Some(ref apikey) = configuration.api_key {
1207        let key = apikey.key.clone();
1208        let value = match apikey.prefix {
1209            Some(ref prefix) => format!("{} {}", prefix, key),
1210            None => key,
1211        };
1212        req_builder = req_builder.header("X-GITEA-OTP", value);
1213    };
1214    if let Some(ref apikey) = configuration.api_key {
1215        let key = apikey.key.clone();
1216        let value = match apikey.prefix {
1217            Some(ref prefix) => format!("{} {}", prefix, key),
1218            None => key,
1219        };
1220        req_builder = req_builder.header("Authorization", value);
1221    };
1222    if let Some(ref apikey) = configuration.api_key {
1223        let key = apikey.key.clone();
1224        let value = match apikey.prefix {
1225            Some(ref prefix) => format!("{} {}", prefix, key),
1226            None => key,
1227        };
1228        req_builder = req_builder.header("Sudo", value);
1229    };
1230    if let Some(ref auth_conf) = configuration.basic_auth {
1231        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1232    };
1233
1234    let req = req_builder.build()?;
1235    let resp = configuration.client.execute(req).await?;
1236
1237    let status = resp.status();
1238    let content_type = resp
1239        .headers()
1240        .get("content-type")
1241        .and_then(|v| v.to_str().ok())
1242        .unwrap_or("application/octet-stream");
1243    let content_type = super::ContentType::from(content_type);
1244
1245    if !status.is_client_error() && !status.is_server_error() {
1246        let content = resp.text().await?;
1247        match content_type {
1248            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1249            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::UserSettings&gt;`"))),
1250            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::UserSettings&gt;`")))),
1251        }
1252    } else {
1253        let content = resp.text().await?;
1254        let entity: Option<GetUserSettingsError> = serde_json::from_str(&content).ok();
1255        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1256    }
1257}
1258
1259pub async fn get_user_variable(configuration: &configuration::Configuration, variablename: &str) -> Result<models::ActionVariable, Error<GetUserVariableError>> {
1260    // add a prefix to parameters to efficiently prevent name collisions
1261    let p_path_variablename = variablename;
1262
1263    let uri_str = format!("{}/user/actions/variables/{variablename}", configuration.base_path, variablename=crate::apis::urlencode(p_path_variablename));
1264    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1265
1266    if let Some(ref apikey) = configuration.api_key {
1267        let key = apikey.key.clone();
1268        let value = match apikey.prefix {
1269            Some(ref prefix) => format!("{} {}", prefix, key),
1270            None => key,
1271        };
1272        req_builder = req_builder.query(&[("access_token", value)]);
1273    }
1274    if let Some(ref apikey) = configuration.api_key {
1275        let key = apikey.key.clone();
1276        let value = match apikey.prefix {
1277            Some(ref prefix) => format!("{} {}", prefix, key),
1278            None => key,
1279        };
1280        req_builder = req_builder.query(&[("sudo", value)]);
1281    }
1282    if let Some(ref apikey) = configuration.api_key {
1283        let key = apikey.key.clone();
1284        let value = match apikey.prefix {
1285            Some(ref prefix) => format!("{} {}", prefix, key),
1286            None => key,
1287        };
1288        req_builder = req_builder.query(&[("token", value)]);
1289    }
1290    if let Some(ref user_agent) = configuration.user_agent {
1291        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1292    }
1293    if let Some(ref apikey) = configuration.api_key {
1294        let key = apikey.key.clone();
1295        let value = match apikey.prefix {
1296            Some(ref prefix) => format!("{} {}", prefix, key),
1297            None => key,
1298        };
1299        req_builder = req_builder.header("X-GITEA-OTP", value);
1300    };
1301    if let Some(ref apikey) = configuration.api_key {
1302        let key = apikey.key.clone();
1303        let value = match apikey.prefix {
1304            Some(ref prefix) => format!("{} {}", prefix, key),
1305            None => key,
1306        };
1307        req_builder = req_builder.header("Authorization", value);
1308    };
1309    if let Some(ref apikey) = configuration.api_key {
1310        let key = apikey.key.clone();
1311        let value = match apikey.prefix {
1312            Some(ref prefix) => format!("{} {}", prefix, key),
1313            None => key,
1314        };
1315        req_builder = req_builder.header("Sudo", value);
1316    };
1317    if let Some(ref auth_conf) = configuration.basic_auth {
1318        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1319    };
1320
1321    let req = req_builder.build()?;
1322    let resp = configuration.client.execute(req).await?;
1323
1324    let status = resp.status();
1325    let content_type = resp
1326        .headers()
1327        .get("content-type")
1328        .and_then(|v| v.to_str().ok())
1329        .unwrap_or("application/octet-stream");
1330    let content_type = super::ContentType::from(content_type);
1331
1332    if !status.is_client_error() && !status.is_server_error() {
1333        let content = resp.text().await?;
1334        match content_type {
1335            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1336            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ActionVariable`"))),
1337            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ActionVariable`")))),
1338        }
1339    } else {
1340        let content = resp.text().await?;
1341        let entity: Option<GetUserVariableError> = serde_json::from_str(&content).ok();
1342        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1343    }
1344}
1345
1346pub async fn get_user_variables_list(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::ActionVariable>, Error<GetUserVariablesListError>> {
1347    // add a prefix to parameters to efficiently prevent name collisions
1348    let p_query_page = page;
1349    let p_query_limit = limit;
1350
1351    let uri_str = format!("{}/user/actions/variables", configuration.base_path);
1352    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1353
1354    if let Some(ref param_value) = p_query_page {
1355        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
1356    }
1357    if let Some(ref param_value) = p_query_limit {
1358        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
1359    }
1360    if let Some(ref apikey) = configuration.api_key {
1361        let key = apikey.key.clone();
1362        let value = match apikey.prefix {
1363            Some(ref prefix) => format!("{} {}", prefix, key),
1364            None => key,
1365        };
1366        req_builder = req_builder.query(&[("access_token", value)]);
1367    }
1368    if let Some(ref apikey) = configuration.api_key {
1369        let key = apikey.key.clone();
1370        let value = match apikey.prefix {
1371            Some(ref prefix) => format!("{} {}", prefix, key),
1372            None => key,
1373        };
1374        req_builder = req_builder.query(&[("sudo", value)]);
1375    }
1376    if let Some(ref apikey) = configuration.api_key {
1377        let key = apikey.key.clone();
1378        let value = match apikey.prefix {
1379            Some(ref prefix) => format!("{} {}", prefix, key),
1380            None => key,
1381        };
1382        req_builder = req_builder.query(&[("token", value)]);
1383    }
1384    if let Some(ref user_agent) = configuration.user_agent {
1385        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1386    }
1387    if let Some(ref apikey) = configuration.api_key {
1388        let key = apikey.key.clone();
1389        let value = match apikey.prefix {
1390            Some(ref prefix) => format!("{} {}", prefix, key),
1391            None => key,
1392        };
1393        req_builder = req_builder.header("X-GITEA-OTP", value);
1394    };
1395    if let Some(ref apikey) = configuration.api_key {
1396        let key = apikey.key.clone();
1397        let value = match apikey.prefix {
1398            Some(ref prefix) => format!("{} {}", prefix, key),
1399            None => key,
1400        };
1401        req_builder = req_builder.header("Authorization", value);
1402    };
1403    if let Some(ref apikey) = configuration.api_key {
1404        let key = apikey.key.clone();
1405        let value = match apikey.prefix {
1406            Some(ref prefix) => format!("{} {}", prefix, key),
1407            None => key,
1408        };
1409        req_builder = req_builder.header("Sudo", value);
1410    };
1411    if let Some(ref auth_conf) = configuration.basic_auth {
1412        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1413    };
1414
1415    let req = req_builder.build()?;
1416    let resp = configuration.client.execute(req).await?;
1417
1418    let status = resp.status();
1419    let content_type = resp
1420        .headers()
1421        .get("content-type")
1422        .and_then(|v| v.to_str().ok())
1423        .unwrap_or("application/octet-stream");
1424    let content_type = super::ContentType::from(content_type);
1425
1426    if !status.is_client_error() && !status.is_server_error() {
1427        let content = resp.text().await?;
1428        match content_type {
1429            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1430            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::ActionVariable&gt;`"))),
1431            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::ActionVariable&gt;`")))),
1432        }
1433    } else {
1434        let content = resp.text().await?;
1435        let entity: Option<GetUserVariablesListError> = serde_json::from_str(&content).ok();
1436        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1437    }
1438}
1439
1440pub async fn get_user_workflow_jobs(configuration: &configuration::Configuration, status: Option<&str>, page: Option<i32>, limit: Option<i32>) -> Result<models::ActionWorkflowJobsResponse, Error<GetUserWorkflowJobsError>> {
1441    // add a prefix to parameters to efficiently prevent name collisions
1442    let p_query_status = status;
1443    let p_query_page = page;
1444    let p_query_limit = limit;
1445
1446    let uri_str = format!("{}/user/actions/jobs", configuration.base_path);
1447    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1448
1449    if let Some(ref param_value) = p_query_status {
1450        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
1451    }
1452    if let Some(ref param_value) = p_query_page {
1453        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
1454    }
1455    if let Some(ref param_value) = p_query_limit {
1456        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
1457    }
1458    if let Some(ref apikey) = configuration.api_key {
1459        let key = apikey.key.clone();
1460        let value = match apikey.prefix {
1461            Some(ref prefix) => format!("{} {}", prefix, key),
1462            None => key,
1463        };
1464        req_builder = req_builder.query(&[("access_token", value)]);
1465    }
1466    if let Some(ref apikey) = configuration.api_key {
1467        let key = apikey.key.clone();
1468        let value = match apikey.prefix {
1469            Some(ref prefix) => format!("{} {}", prefix, key),
1470            None => key,
1471        };
1472        req_builder = req_builder.query(&[("sudo", value)]);
1473    }
1474    if let Some(ref apikey) = configuration.api_key {
1475        let key = apikey.key.clone();
1476        let value = match apikey.prefix {
1477            Some(ref prefix) => format!("{} {}", prefix, key),
1478            None => key,
1479        };
1480        req_builder = req_builder.query(&[("token", value)]);
1481    }
1482    if let Some(ref user_agent) = configuration.user_agent {
1483        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1484    }
1485    if let Some(ref apikey) = configuration.api_key {
1486        let key = apikey.key.clone();
1487        let value = match apikey.prefix {
1488            Some(ref prefix) => format!("{} {}", prefix, key),
1489            None => key,
1490        };
1491        req_builder = req_builder.header("X-GITEA-OTP", value);
1492    };
1493    if let Some(ref apikey) = configuration.api_key {
1494        let key = apikey.key.clone();
1495        let value = match apikey.prefix {
1496            Some(ref prefix) => format!("{} {}", prefix, key),
1497            None => key,
1498        };
1499        req_builder = req_builder.header("Authorization", value);
1500    };
1501    if let Some(ref apikey) = configuration.api_key {
1502        let key = apikey.key.clone();
1503        let value = match apikey.prefix {
1504            Some(ref prefix) => format!("{} {}", prefix, key),
1505            None => key,
1506        };
1507        req_builder = req_builder.header("Sudo", value);
1508    };
1509    if let Some(ref auth_conf) = configuration.basic_auth {
1510        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1511    };
1512
1513    let req = req_builder.build()?;
1514    let resp = configuration.client.execute(req).await?;
1515
1516    let status = resp.status();
1517    let content_type = resp
1518        .headers()
1519        .get("content-type")
1520        .and_then(|v| v.to_str().ok())
1521        .unwrap_or("application/octet-stream");
1522    let content_type = super::ContentType::from(content_type);
1523
1524    if !status.is_client_error() && !status.is_server_error() {
1525        let content = resp.text().await?;
1526        match content_type {
1527            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1528            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ActionWorkflowJobsResponse`"))),
1529            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ActionWorkflowJobsResponse`")))),
1530        }
1531    } else {
1532        let content = resp.text().await?;
1533        let entity: Option<GetUserWorkflowJobsError> = serde_json::from_str(&content).ok();
1534        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1535    }
1536}
1537
1538pub async fn get_user_workflow_runs(configuration: &configuration::Configuration, event: Option<&str>, branch: Option<&str>, status: Option<&str>, actor: Option<&str>, head_sha: Option<&str>, page: Option<i32>, limit: Option<i32>) -> Result<models::ActionWorkflowRunsResponse, Error<GetUserWorkflowRunsError>> {
1539    // add a prefix to parameters to efficiently prevent name collisions
1540    let p_query_event = event;
1541    let p_query_branch = branch;
1542    let p_query_status = status;
1543    let p_query_actor = actor;
1544    let p_query_head_sha = head_sha;
1545    let p_query_page = page;
1546    let p_query_limit = limit;
1547
1548    let uri_str = format!("{}/user/actions/runs", configuration.base_path);
1549    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1550
1551    if let Some(ref param_value) = p_query_event {
1552        req_builder = req_builder.query(&[("event", &param_value.to_string())]);
1553    }
1554    if let Some(ref param_value) = p_query_branch {
1555        req_builder = req_builder.query(&[("branch", &param_value.to_string())]);
1556    }
1557    if let Some(ref param_value) = p_query_status {
1558        req_builder = req_builder.query(&[("status", &param_value.to_string())]);
1559    }
1560    if let Some(ref param_value) = p_query_actor {
1561        req_builder = req_builder.query(&[("actor", &param_value.to_string())]);
1562    }
1563    if let Some(ref param_value) = p_query_head_sha {
1564        req_builder = req_builder.query(&[("head_sha", &param_value.to_string())]);
1565    }
1566    if let Some(ref param_value) = p_query_page {
1567        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
1568    }
1569    if let Some(ref param_value) = p_query_limit {
1570        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
1571    }
1572    if let Some(ref apikey) = configuration.api_key {
1573        let key = apikey.key.clone();
1574        let value = match apikey.prefix {
1575            Some(ref prefix) => format!("{} {}", prefix, key),
1576            None => key,
1577        };
1578        req_builder = req_builder.query(&[("access_token", value)]);
1579    }
1580    if let Some(ref apikey) = configuration.api_key {
1581        let key = apikey.key.clone();
1582        let value = match apikey.prefix {
1583            Some(ref prefix) => format!("{} {}", prefix, key),
1584            None => key,
1585        };
1586        req_builder = req_builder.query(&[("sudo", value)]);
1587    }
1588    if let Some(ref apikey) = configuration.api_key {
1589        let key = apikey.key.clone();
1590        let value = match apikey.prefix {
1591            Some(ref prefix) => format!("{} {}", prefix, key),
1592            None => key,
1593        };
1594        req_builder = req_builder.query(&[("token", value)]);
1595    }
1596    if let Some(ref user_agent) = configuration.user_agent {
1597        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1598    }
1599    if let Some(ref apikey) = configuration.api_key {
1600        let key = apikey.key.clone();
1601        let value = match apikey.prefix {
1602            Some(ref prefix) => format!("{} {}", prefix, key),
1603            None => key,
1604        };
1605        req_builder = req_builder.header("X-GITEA-OTP", value);
1606    };
1607    if let Some(ref apikey) = configuration.api_key {
1608        let key = apikey.key.clone();
1609        let value = match apikey.prefix {
1610            Some(ref prefix) => format!("{} {}", prefix, key),
1611            None => key,
1612        };
1613        req_builder = req_builder.header("Authorization", value);
1614    };
1615    if let Some(ref apikey) = configuration.api_key {
1616        let key = apikey.key.clone();
1617        let value = match apikey.prefix {
1618            Some(ref prefix) => format!("{} {}", prefix, key),
1619            None => key,
1620        };
1621        req_builder = req_builder.header("Sudo", value);
1622    };
1623    if let Some(ref auth_conf) = configuration.basic_auth {
1624        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1625    };
1626
1627    let req = req_builder.build()?;
1628    let resp = configuration.client.execute(req).await?;
1629
1630    let status = resp.status();
1631    let content_type = resp
1632        .headers()
1633        .get("content-type")
1634        .and_then(|v| v.to_str().ok())
1635        .unwrap_or("application/octet-stream");
1636    let content_type = super::ContentType::from(content_type);
1637
1638    if !status.is_client_error() && !status.is_server_error() {
1639        let content = resp.text().await?;
1640        match content_type {
1641            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1642            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ActionWorkflowRunsResponse`"))),
1643            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ActionWorkflowRunsResponse`")))),
1644        }
1645    } else {
1646        let content = resp.text().await?;
1647        let entity: Option<GetUserWorkflowRunsError> = serde_json::from_str(&content).ok();
1648        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1649    }
1650}
1651
1652pub async fn get_verification_token(configuration: &configuration::Configuration, ) -> Result<String, Error<GetVerificationTokenError>> {
1653
1654    let uri_str = format!("{}/user/gpg_key_token", configuration.base_path);
1655    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1656
1657    if let Some(ref apikey) = configuration.api_key {
1658        let key = apikey.key.clone();
1659        let value = match apikey.prefix {
1660            Some(ref prefix) => format!("{} {}", prefix, key),
1661            None => key,
1662        };
1663        req_builder = req_builder.query(&[("access_token", value)]);
1664    }
1665    if let Some(ref apikey) = configuration.api_key {
1666        let key = apikey.key.clone();
1667        let value = match apikey.prefix {
1668            Some(ref prefix) => format!("{} {}", prefix, key),
1669            None => key,
1670        };
1671        req_builder = req_builder.query(&[("sudo", value)]);
1672    }
1673    if let Some(ref apikey) = configuration.api_key {
1674        let key = apikey.key.clone();
1675        let value = match apikey.prefix {
1676            Some(ref prefix) => format!("{} {}", prefix, key),
1677            None => key,
1678        };
1679        req_builder = req_builder.query(&[("token", value)]);
1680    }
1681    if let Some(ref user_agent) = configuration.user_agent {
1682        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1683    }
1684    if let Some(ref apikey) = configuration.api_key {
1685        let key = apikey.key.clone();
1686        let value = match apikey.prefix {
1687            Some(ref prefix) => format!("{} {}", prefix, key),
1688            None => key,
1689        };
1690        req_builder = req_builder.header("X-GITEA-OTP", value);
1691    };
1692    if let Some(ref apikey) = configuration.api_key {
1693        let key = apikey.key.clone();
1694        let value = match apikey.prefix {
1695            Some(ref prefix) => format!("{} {}", prefix, key),
1696            None => key,
1697        };
1698        req_builder = req_builder.header("Authorization", value);
1699    };
1700    if let Some(ref apikey) = configuration.api_key {
1701        let key = apikey.key.clone();
1702        let value = match apikey.prefix {
1703            Some(ref prefix) => format!("{} {}", prefix, key),
1704            None => key,
1705        };
1706        req_builder = req_builder.header("Sudo", value);
1707    };
1708    if let Some(ref auth_conf) = configuration.basic_auth {
1709        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1710    };
1711
1712    let req = req_builder.build()?;
1713    let resp = configuration.client.execute(req).await?;
1714
1715    let status = resp.status();
1716    let content_type = resp
1717        .headers()
1718        .get("content-type")
1719        .and_then(|v| v.to_str().ok())
1720        .unwrap_or("application/octet-stream");
1721    let content_type = super::ContentType::from(content_type);
1722
1723    if !status.is_client_error() && !status.is_server_error() {
1724        let content = resp.text().await?;
1725        match content_type {
1726            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1727            ContentType::Text => return Ok(content),
1728            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `String`")))),
1729        }
1730    } else {
1731        let content = resp.text().await?;
1732        let entity: Option<GetVerificationTokenError> = serde_json::from_str(&content).ok();
1733        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1734    }
1735}
1736
1737pub async fn update_user_secret(configuration: &configuration::Configuration, secretname: &str, body: Option<models::CreateOrUpdateSecretOption>) -> Result<(), Error<UpdateUserSecretError>> {
1738    // add a prefix to parameters to efficiently prevent name collisions
1739    let p_path_secretname = secretname;
1740    let p_body_body = body;
1741
1742    let uri_str = format!("{}/user/actions/secrets/{secretname}", configuration.base_path, secretname=crate::apis::urlencode(p_path_secretname));
1743    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
1744
1745    if let Some(ref apikey) = configuration.api_key {
1746        let key = apikey.key.clone();
1747        let value = match apikey.prefix {
1748            Some(ref prefix) => format!("{} {}", prefix, key),
1749            None => key,
1750        };
1751        req_builder = req_builder.query(&[("access_token", value)]);
1752    }
1753    if let Some(ref apikey) = configuration.api_key {
1754        let key = apikey.key.clone();
1755        let value = match apikey.prefix {
1756            Some(ref prefix) => format!("{} {}", prefix, key),
1757            None => key,
1758        };
1759        req_builder = req_builder.query(&[("sudo", value)]);
1760    }
1761    if let Some(ref apikey) = configuration.api_key {
1762        let key = apikey.key.clone();
1763        let value = match apikey.prefix {
1764            Some(ref prefix) => format!("{} {}", prefix, key),
1765            None => key,
1766        };
1767        req_builder = req_builder.query(&[("token", value)]);
1768    }
1769    if let Some(ref user_agent) = configuration.user_agent {
1770        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1771    }
1772    if let Some(ref apikey) = configuration.api_key {
1773        let key = apikey.key.clone();
1774        let value = match apikey.prefix {
1775            Some(ref prefix) => format!("{} {}", prefix, key),
1776            None => key,
1777        };
1778        req_builder = req_builder.header("X-GITEA-OTP", value);
1779    };
1780    if let Some(ref apikey) = configuration.api_key {
1781        let key = apikey.key.clone();
1782        let value = match apikey.prefix {
1783            Some(ref prefix) => format!("{} {}", prefix, key),
1784            None => key,
1785        };
1786        req_builder = req_builder.header("Authorization", value);
1787    };
1788    if let Some(ref apikey) = configuration.api_key {
1789        let key = apikey.key.clone();
1790        let value = match apikey.prefix {
1791            Some(ref prefix) => format!("{} {}", prefix, key),
1792            None => key,
1793        };
1794        req_builder = req_builder.header("Sudo", value);
1795    };
1796    if let Some(ref auth_conf) = configuration.basic_auth {
1797        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1798    };
1799    req_builder = req_builder.json(&p_body_body);
1800
1801    let req = req_builder.build()?;
1802    let resp = configuration.client.execute(req).await?;
1803
1804    let status = resp.status();
1805
1806    if !status.is_client_error() && !status.is_server_error() {
1807        Ok(())
1808    } else {
1809        let content = resp.text().await?;
1810        let entity: Option<UpdateUserSecretError> = serde_json::from_str(&content).ok();
1811        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1812    }
1813}
1814
1815pub async fn update_user_settings(configuration: &configuration::Configuration, body: Option<models::UserSettingsOptions>) -> Result<Vec<models::UserSettings>, Error<UpdateUserSettingsError>> {
1816    // add a prefix to parameters to efficiently prevent name collisions
1817    let p_body_body = body;
1818
1819    let uri_str = format!("{}/user/settings", configuration.base_path);
1820    let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str);
1821
1822    if let Some(ref apikey) = configuration.api_key {
1823        let key = apikey.key.clone();
1824        let value = match apikey.prefix {
1825            Some(ref prefix) => format!("{} {}", prefix, key),
1826            None => key,
1827        };
1828        req_builder = req_builder.query(&[("access_token", value)]);
1829    }
1830    if let Some(ref apikey) = configuration.api_key {
1831        let key = apikey.key.clone();
1832        let value = match apikey.prefix {
1833            Some(ref prefix) => format!("{} {}", prefix, key),
1834            None => key,
1835        };
1836        req_builder = req_builder.query(&[("sudo", value)]);
1837    }
1838    if let Some(ref apikey) = configuration.api_key {
1839        let key = apikey.key.clone();
1840        let value = match apikey.prefix {
1841            Some(ref prefix) => format!("{} {}", prefix, key),
1842            None => key,
1843        };
1844        req_builder = req_builder.query(&[("token", value)]);
1845    }
1846    if let Some(ref user_agent) = configuration.user_agent {
1847        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1848    }
1849    if let Some(ref apikey) = configuration.api_key {
1850        let key = apikey.key.clone();
1851        let value = match apikey.prefix {
1852            Some(ref prefix) => format!("{} {}", prefix, key),
1853            None => key,
1854        };
1855        req_builder = req_builder.header("X-GITEA-OTP", value);
1856    };
1857    if let Some(ref apikey) = configuration.api_key {
1858        let key = apikey.key.clone();
1859        let value = match apikey.prefix {
1860            Some(ref prefix) => format!("{} {}", prefix, key),
1861            None => key,
1862        };
1863        req_builder = req_builder.header("Authorization", value);
1864    };
1865    if let Some(ref apikey) = configuration.api_key {
1866        let key = apikey.key.clone();
1867        let value = match apikey.prefix {
1868            Some(ref prefix) => format!("{} {}", prefix, key),
1869            None => key,
1870        };
1871        req_builder = req_builder.header("Sudo", value);
1872    };
1873    if let Some(ref auth_conf) = configuration.basic_auth {
1874        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1875    };
1876    req_builder = req_builder.json(&p_body_body);
1877
1878    let req = req_builder.build()?;
1879    let resp = configuration.client.execute(req).await?;
1880
1881    let status = resp.status();
1882    let content_type = resp
1883        .headers()
1884        .get("content-type")
1885        .and_then(|v| v.to_str().ok())
1886        .unwrap_or("application/octet-stream");
1887    let content_type = super::ContentType::from(content_type);
1888
1889    if !status.is_client_error() && !status.is_server_error() {
1890        let content = resp.text().await?;
1891        match content_type {
1892            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1893            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::UserSettings&gt;`"))),
1894            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::UserSettings&gt;`")))),
1895        }
1896    } else {
1897        let content = resp.text().await?;
1898        let entity: Option<UpdateUserSettingsError> = serde_json::from_str(&content).ok();
1899        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1900    }
1901}
1902
1903pub async fn update_user_variable(configuration: &configuration::Configuration, variablename: &str, body: Option<models::UpdateVariableOption>) -> Result<(), Error<UpdateUserVariableError>> {
1904    // add a prefix to parameters to efficiently prevent name collisions
1905    let p_path_variablename = variablename;
1906    let p_body_body = body;
1907
1908    let uri_str = format!("{}/user/actions/variables/{variablename}", configuration.base_path, variablename=crate::apis::urlencode(p_path_variablename));
1909    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
1910
1911    if let Some(ref apikey) = configuration.api_key {
1912        let key = apikey.key.clone();
1913        let value = match apikey.prefix {
1914            Some(ref prefix) => format!("{} {}", prefix, key),
1915            None => key,
1916        };
1917        req_builder = req_builder.query(&[("access_token", value)]);
1918    }
1919    if let Some(ref apikey) = configuration.api_key {
1920        let key = apikey.key.clone();
1921        let value = match apikey.prefix {
1922            Some(ref prefix) => format!("{} {}", prefix, key),
1923            None => key,
1924        };
1925        req_builder = req_builder.query(&[("sudo", value)]);
1926    }
1927    if let Some(ref apikey) = configuration.api_key {
1928        let key = apikey.key.clone();
1929        let value = match apikey.prefix {
1930            Some(ref prefix) => format!("{} {}", prefix, key),
1931            None => key,
1932        };
1933        req_builder = req_builder.query(&[("token", value)]);
1934    }
1935    if let Some(ref user_agent) = configuration.user_agent {
1936        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1937    }
1938    if let Some(ref apikey) = configuration.api_key {
1939        let key = apikey.key.clone();
1940        let value = match apikey.prefix {
1941            Some(ref prefix) => format!("{} {}", prefix, key),
1942            None => key,
1943        };
1944        req_builder = req_builder.header("X-GITEA-OTP", value);
1945    };
1946    if let Some(ref apikey) = configuration.api_key {
1947        let key = apikey.key.clone();
1948        let value = match apikey.prefix {
1949            Some(ref prefix) => format!("{} {}", prefix, key),
1950            None => key,
1951        };
1952        req_builder = req_builder.header("Authorization", value);
1953    };
1954    if let Some(ref apikey) = configuration.api_key {
1955        let key = apikey.key.clone();
1956        let value = match apikey.prefix {
1957            Some(ref prefix) => format!("{} {}", prefix, key),
1958            None => key,
1959        };
1960        req_builder = req_builder.header("Sudo", value);
1961    };
1962    if let Some(ref auth_conf) = configuration.basic_auth {
1963        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
1964    };
1965    req_builder = req_builder.json(&p_body_body);
1966
1967    let req = req_builder.build()?;
1968    let resp = configuration.client.execute(req).await?;
1969
1970    let status = resp.status();
1971
1972    if !status.is_client_error() && !status.is_server_error() {
1973        Ok(())
1974    } else {
1975        let content = resp.text().await?;
1976        let entity: Option<UpdateUserVariableError> = serde_json::from_str(&content).ok();
1977        Err(Error::ResponseError(ResponseContent { status, content, entity }))
1978    }
1979}
1980
1981pub async fn user_add_email(configuration: &configuration::Configuration, body: Option<models::CreateEmailOption>) -> Result<Vec<models::Email>, Error<UserAddEmailError>> {
1982    // add a prefix to parameters to efficiently prevent name collisions
1983    let p_body_body = body;
1984
1985    let uri_str = format!("{}/user/emails", configuration.base_path);
1986    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
1987
1988    if let Some(ref apikey) = configuration.api_key {
1989        let key = apikey.key.clone();
1990        let value = match apikey.prefix {
1991            Some(ref prefix) => format!("{} {}", prefix, key),
1992            None => key,
1993        };
1994        req_builder = req_builder.query(&[("access_token", value)]);
1995    }
1996    if let Some(ref apikey) = configuration.api_key {
1997        let key = apikey.key.clone();
1998        let value = match apikey.prefix {
1999            Some(ref prefix) => format!("{} {}", prefix, key),
2000            None => key,
2001        };
2002        req_builder = req_builder.query(&[("sudo", value)]);
2003    }
2004    if let Some(ref apikey) = configuration.api_key {
2005        let key = apikey.key.clone();
2006        let value = match apikey.prefix {
2007            Some(ref prefix) => format!("{} {}", prefix, key),
2008            None => key,
2009        };
2010        req_builder = req_builder.query(&[("token", value)]);
2011    }
2012    if let Some(ref user_agent) = configuration.user_agent {
2013        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2014    }
2015    if let Some(ref apikey) = configuration.api_key {
2016        let key = apikey.key.clone();
2017        let value = match apikey.prefix {
2018            Some(ref prefix) => format!("{} {}", prefix, key),
2019            None => key,
2020        };
2021        req_builder = req_builder.header("X-GITEA-OTP", value);
2022    };
2023    if let Some(ref apikey) = configuration.api_key {
2024        let key = apikey.key.clone();
2025        let value = match apikey.prefix {
2026            Some(ref prefix) => format!("{} {}", prefix, key),
2027            None => key,
2028        };
2029        req_builder = req_builder.header("Authorization", value);
2030    };
2031    if let Some(ref apikey) = configuration.api_key {
2032        let key = apikey.key.clone();
2033        let value = match apikey.prefix {
2034            Some(ref prefix) => format!("{} {}", prefix, key),
2035            None => key,
2036        };
2037        req_builder = req_builder.header("Sudo", value);
2038    };
2039    if let Some(ref auth_conf) = configuration.basic_auth {
2040        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2041    };
2042    req_builder = req_builder.json(&p_body_body);
2043
2044    let req = req_builder.build()?;
2045    let resp = configuration.client.execute(req).await?;
2046
2047    let status = resp.status();
2048    let content_type = resp
2049        .headers()
2050        .get("content-type")
2051        .and_then(|v| v.to_str().ok())
2052        .unwrap_or("application/octet-stream");
2053    let content_type = super::ContentType::from(content_type);
2054
2055    if !status.is_client_error() && !status.is_server_error() {
2056        let content = resp.text().await?;
2057        match content_type {
2058            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
2059            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Email&gt;`"))),
2060            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Email&gt;`")))),
2061        }
2062    } else {
2063        let content = resp.text().await?;
2064        let entity: Option<UserAddEmailError> = serde_json::from_str(&content).ok();
2065        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2066    }
2067}
2068
2069pub async fn user_block_user(configuration: &configuration::Configuration, username: &str, note: Option<&str>) -> Result<(), Error<UserBlockUserError>> {
2070    // add a prefix to parameters to efficiently prevent name collisions
2071    let p_path_username = username;
2072    let p_query_note = note;
2073
2074    let uri_str = format!("{}/user/blocks/{username}", configuration.base_path, username=crate::apis::urlencode(p_path_username));
2075    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
2076
2077    if let Some(ref param_value) = p_query_note {
2078        req_builder = req_builder.query(&[("note", &param_value.to_string())]);
2079    }
2080    if let Some(ref apikey) = configuration.api_key {
2081        let key = apikey.key.clone();
2082        let value = match apikey.prefix {
2083            Some(ref prefix) => format!("{} {}", prefix, key),
2084            None => key,
2085        };
2086        req_builder = req_builder.query(&[("access_token", value)]);
2087    }
2088    if let Some(ref apikey) = configuration.api_key {
2089        let key = apikey.key.clone();
2090        let value = match apikey.prefix {
2091            Some(ref prefix) => format!("{} {}", prefix, key),
2092            None => key,
2093        };
2094        req_builder = req_builder.query(&[("sudo", value)]);
2095    }
2096    if let Some(ref apikey) = configuration.api_key {
2097        let key = apikey.key.clone();
2098        let value = match apikey.prefix {
2099            Some(ref prefix) => format!("{} {}", prefix, key),
2100            None => key,
2101        };
2102        req_builder = req_builder.query(&[("token", value)]);
2103    }
2104    if let Some(ref user_agent) = configuration.user_agent {
2105        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2106    }
2107    if let Some(ref apikey) = configuration.api_key {
2108        let key = apikey.key.clone();
2109        let value = match apikey.prefix {
2110            Some(ref prefix) => format!("{} {}", prefix, key),
2111            None => key,
2112        };
2113        req_builder = req_builder.header("X-GITEA-OTP", value);
2114    };
2115    if let Some(ref apikey) = configuration.api_key {
2116        let key = apikey.key.clone();
2117        let value = match apikey.prefix {
2118            Some(ref prefix) => format!("{} {}", prefix, key),
2119            None => key,
2120        };
2121        req_builder = req_builder.header("Authorization", value);
2122    };
2123    if let Some(ref apikey) = configuration.api_key {
2124        let key = apikey.key.clone();
2125        let value = match apikey.prefix {
2126            Some(ref prefix) => format!("{} {}", prefix, key),
2127            None => key,
2128        };
2129        req_builder = req_builder.header("Sudo", value);
2130    };
2131    if let Some(ref auth_conf) = configuration.basic_auth {
2132        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2133    };
2134
2135    let req = req_builder.build()?;
2136    let resp = configuration.client.execute(req).await?;
2137
2138    let status = resp.status();
2139
2140    if !status.is_client_error() && !status.is_server_error() {
2141        Ok(())
2142    } else {
2143        let content = resp.text().await?;
2144        let entity: Option<UserBlockUserError> = serde_json::from_str(&content).ok();
2145        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2146    }
2147}
2148
2149pub async fn user_check_following(configuration: &configuration::Configuration, username: &str, target: &str) -> Result<(), Error<UserCheckFollowingError>> {
2150    // add a prefix to parameters to efficiently prevent name collisions
2151    let p_path_username = username;
2152    let p_path_target = target;
2153
2154    let uri_str = format!("{}/users/{username}/following/{target}", configuration.base_path, username=crate::apis::urlencode(p_path_username), target=crate::apis::urlencode(p_path_target));
2155    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
2156
2157    if let Some(ref apikey) = configuration.api_key {
2158        let key = apikey.key.clone();
2159        let value = match apikey.prefix {
2160            Some(ref prefix) => format!("{} {}", prefix, key),
2161            None => key,
2162        };
2163        req_builder = req_builder.query(&[("access_token", value)]);
2164    }
2165    if let Some(ref apikey) = configuration.api_key {
2166        let key = apikey.key.clone();
2167        let value = match apikey.prefix {
2168            Some(ref prefix) => format!("{} {}", prefix, key),
2169            None => key,
2170        };
2171        req_builder = req_builder.query(&[("sudo", value)]);
2172    }
2173    if let Some(ref apikey) = configuration.api_key {
2174        let key = apikey.key.clone();
2175        let value = match apikey.prefix {
2176            Some(ref prefix) => format!("{} {}", prefix, key),
2177            None => key,
2178        };
2179        req_builder = req_builder.query(&[("token", value)]);
2180    }
2181    if let Some(ref user_agent) = configuration.user_agent {
2182        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2183    }
2184    if let Some(ref apikey) = configuration.api_key {
2185        let key = apikey.key.clone();
2186        let value = match apikey.prefix {
2187            Some(ref prefix) => format!("{} {}", prefix, key),
2188            None => key,
2189        };
2190        req_builder = req_builder.header("X-GITEA-OTP", value);
2191    };
2192    if let Some(ref apikey) = configuration.api_key {
2193        let key = apikey.key.clone();
2194        let value = match apikey.prefix {
2195            Some(ref prefix) => format!("{} {}", prefix, key),
2196            None => key,
2197        };
2198        req_builder = req_builder.header("Authorization", value);
2199    };
2200    if let Some(ref apikey) = configuration.api_key {
2201        let key = apikey.key.clone();
2202        let value = match apikey.prefix {
2203            Some(ref prefix) => format!("{} {}", prefix, key),
2204            None => key,
2205        };
2206        req_builder = req_builder.header("Sudo", value);
2207    };
2208    if let Some(ref auth_conf) = configuration.basic_auth {
2209        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2210    };
2211
2212    let req = req_builder.build()?;
2213    let resp = configuration.client.execute(req).await?;
2214
2215    let status = resp.status();
2216
2217    if !status.is_client_error() && !status.is_server_error() {
2218        Ok(())
2219    } else {
2220        let content = resp.text().await?;
2221        let entity: Option<UserCheckFollowingError> = serde_json::from_str(&content).ok();
2222        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2223    }
2224}
2225
2226pub async fn user_check_user_block(configuration: &configuration::Configuration, username: &str) -> Result<(), Error<UserCheckUserBlockError>> {
2227    // add a prefix to parameters to efficiently prevent name collisions
2228    let p_path_username = username;
2229
2230    let uri_str = format!("{}/user/blocks/{username}", configuration.base_path, username=crate::apis::urlencode(p_path_username));
2231    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
2232
2233    if let Some(ref apikey) = configuration.api_key {
2234        let key = apikey.key.clone();
2235        let value = match apikey.prefix {
2236            Some(ref prefix) => format!("{} {}", prefix, key),
2237            None => key,
2238        };
2239        req_builder = req_builder.query(&[("access_token", value)]);
2240    }
2241    if let Some(ref apikey) = configuration.api_key {
2242        let key = apikey.key.clone();
2243        let value = match apikey.prefix {
2244            Some(ref prefix) => format!("{} {}", prefix, key),
2245            None => key,
2246        };
2247        req_builder = req_builder.query(&[("sudo", value)]);
2248    }
2249    if let Some(ref apikey) = configuration.api_key {
2250        let key = apikey.key.clone();
2251        let value = match apikey.prefix {
2252            Some(ref prefix) => format!("{} {}", prefix, key),
2253            None => key,
2254        };
2255        req_builder = req_builder.query(&[("token", value)]);
2256    }
2257    if let Some(ref user_agent) = configuration.user_agent {
2258        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2259    }
2260    if let Some(ref apikey) = configuration.api_key {
2261        let key = apikey.key.clone();
2262        let value = match apikey.prefix {
2263            Some(ref prefix) => format!("{} {}", prefix, key),
2264            None => key,
2265        };
2266        req_builder = req_builder.header("X-GITEA-OTP", value);
2267    };
2268    if let Some(ref apikey) = configuration.api_key {
2269        let key = apikey.key.clone();
2270        let value = match apikey.prefix {
2271            Some(ref prefix) => format!("{} {}", prefix, key),
2272            None => key,
2273        };
2274        req_builder = req_builder.header("Authorization", value);
2275    };
2276    if let Some(ref apikey) = configuration.api_key {
2277        let key = apikey.key.clone();
2278        let value = match apikey.prefix {
2279            Some(ref prefix) => format!("{} {}", prefix, key),
2280            None => key,
2281        };
2282        req_builder = req_builder.header("Sudo", value);
2283    };
2284    if let Some(ref auth_conf) = configuration.basic_auth {
2285        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2286    };
2287
2288    let req = req_builder.build()?;
2289    let resp = configuration.client.execute(req).await?;
2290
2291    let status = resp.status();
2292
2293    if !status.is_client_error() && !status.is_server_error() {
2294        Ok(())
2295    } else {
2296        let content = resp.text().await?;
2297        let entity: Option<UserCheckUserBlockError> = serde_json::from_str(&content).ok();
2298        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2299    }
2300}
2301
2302pub async fn user_create_hook(configuration: &configuration::Configuration, body: models::CreateHookOption) -> Result<models::Hook, Error<UserCreateHookError>> {
2303    // add a prefix to parameters to efficiently prevent name collisions
2304    let p_body_body = body;
2305
2306    let uri_str = format!("{}/user/hooks", configuration.base_path);
2307    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
2308
2309    if let Some(ref apikey) = configuration.api_key {
2310        let key = apikey.key.clone();
2311        let value = match apikey.prefix {
2312            Some(ref prefix) => format!("{} {}", prefix, key),
2313            None => key,
2314        };
2315        req_builder = req_builder.query(&[("access_token", value)]);
2316    }
2317    if let Some(ref apikey) = configuration.api_key {
2318        let key = apikey.key.clone();
2319        let value = match apikey.prefix {
2320            Some(ref prefix) => format!("{} {}", prefix, key),
2321            None => key,
2322        };
2323        req_builder = req_builder.query(&[("sudo", value)]);
2324    }
2325    if let Some(ref apikey) = configuration.api_key {
2326        let key = apikey.key.clone();
2327        let value = match apikey.prefix {
2328            Some(ref prefix) => format!("{} {}", prefix, key),
2329            None => key,
2330        };
2331        req_builder = req_builder.query(&[("token", value)]);
2332    }
2333    if let Some(ref user_agent) = configuration.user_agent {
2334        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2335    }
2336    if let Some(ref apikey) = configuration.api_key {
2337        let key = apikey.key.clone();
2338        let value = match apikey.prefix {
2339            Some(ref prefix) => format!("{} {}", prefix, key),
2340            None => key,
2341        };
2342        req_builder = req_builder.header("X-GITEA-OTP", value);
2343    };
2344    if let Some(ref apikey) = configuration.api_key {
2345        let key = apikey.key.clone();
2346        let value = match apikey.prefix {
2347            Some(ref prefix) => format!("{} {}", prefix, key),
2348            None => key,
2349        };
2350        req_builder = req_builder.header("Authorization", value);
2351    };
2352    if let Some(ref apikey) = configuration.api_key {
2353        let key = apikey.key.clone();
2354        let value = match apikey.prefix {
2355            Some(ref prefix) => format!("{} {}", prefix, key),
2356            None => key,
2357        };
2358        req_builder = req_builder.header("Sudo", value);
2359    };
2360    if let Some(ref auth_conf) = configuration.basic_auth {
2361        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2362    };
2363    req_builder = req_builder.json(&p_body_body);
2364
2365    let req = req_builder.build()?;
2366    let resp = configuration.client.execute(req).await?;
2367
2368    let status = resp.status();
2369    let content_type = resp
2370        .headers()
2371        .get("content-type")
2372        .and_then(|v| v.to_str().ok())
2373        .unwrap_or("application/octet-stream");
2374    let content_type = super::ContentType::from(content_type);
2375
2376    if !status.is_client_error() && !status.is_server_error() {
2377        let content = resp.text().await?;
2378        match content_type {
2379            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
2380            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Hook`"))),
2381            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Hook`")))),
2382        }
2383    } else {
2384        let content = resp.text().await?;
2385        let entity: Option<UserCreateHookError> = serde_json::from_str(&content).ok();
2386        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2387    }
2388}
2389
2390pub async fn user_create_o_auth2_application(configuration: &configuration::Configuration, body: models::CreateOAuth2ApplicationOptions) -> Result<models::OAuth2Application, Error<UserCreateOAuth2ApplicationError>> {
2391    // add a prefix to parameters to efficiently prevent name collisions
2392    let p_body_body = body;
2393
2394    let uri_str = format!("{}/user/applications/oauth2", configuration.base_path);
2395    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
2396
2397    if let Some(ref apikey) = configuration.api_key {
2398        let key = apikey.key.clone();
2399        let value = match apikey.prefix {
2400            Some(ref prefix) => format!("{} {}", prefix, key),
2401            None => key,
2402        };
2403        req_builder = req_builder.query(&[("access_token", value)]);
2404    }
2405    if let Some(ref apikey) = configuration.api_key {
2406        let key = apikey.key.clone();
2407        let value = match apikey.prefix {
2408            Some(ref prefix) => format!("{} {}", prefix, key),
2409            None => key,
2410        };
2411        req_builder = req_builder.query(&[("sudo", value)]);
2412    }
2413    if let Some(ref apikey) = configuration.api_key {
2414        let key = apikey.key.clone();
2415        let value = match apikey.prefix {
2416            Some(ref prefix) => format!("{} {}", prefix, key),
2417            None => key,
2418        };
2419        req_builder = req_builder.query(&[("token", value)]);
2420    }
2421    if let Some(ref user_agent) = configuration.user_agent {
2422        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2423    }
2424    if let Some(ref apikey) = configuration.api_key {
2425        let key = apikey.key.clone();
2426        let value = match apikey.prefix {
2427            Some(ref prefix) => format!("{} {}", prefix, key),
2428            None => key,
2429        };
2430        req_builder = req_builder.header("X-GITEA-OTP", value);
2431    };
2432    if let Some(ref apikey) = configuration.api_key {
2433        let key = apikey.key.clone();
2434        let value = match apikey.prefix {
2435            Some(ref prefix) => format!("{} {}", prefix, key),
2436            None => key,
2437        };
2438        req_builder = req_builder.header("Authorization", value);
2439    };
2440    if let Some(ref apikey) = configuration.api_key {
2441        let key = apikey.key.clone();
2442        let value = match apikey.prefix {
2443            Some(ref prefix) => format!("{} {}", prefix, key),
2444            None => key,
2445        };
2446        req_builder = req_builder.header("Sudo", value);
2447    };
2448    if let Some(ref auth_conf) = configuration.basic_auth {
2449        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2450    };
2451    req_builder = req_builder.json(&p_body_body);
2452
2453    let req = req_builder.build()?;
2454    let resp = configuration.client.execute(req).await?;
2455
2456    let status = resp.status();
2457    let content_type = resp
2458        .headers()
2459        .get("content-type")
2460        .and_then(|v| v.to_str().ok())
2461        .unwrap_or("application/octet-stream");
2462    let content_type = super::ContentType::from(content_type);
2463
2464    if !status.is_client_error() && !status.is_server_error() {
2465        let content = resp.text().await?;
2466        match content_type {
2467            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
2468            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::OAuth2Application`"))),
2469            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::OAuth2Application`")))),
2470        }
2471    } else {
2472        let content = resp.text().await?;
2473        let entity: Option<UserCreateOAuth2ApplicationError> = serde_json::from_str(&content).ok();
2474        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2475    }
2476}
2477
2478pub async fn user_create_runner_registration_token(configuration: &configuration::Configuration, ) -> Result<(), Error<UserCreateRunnerRegistrationTokenError>> {
2479
2480    let uri_str = format!("{}/user/actions/runners/registration-token", configuration.base_path);
2481    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
2482
2483    if let Some(ref apikey) = configuration.api_key {
2484        let key = apikey.key.clone();
2485        let value = match apikey.prefix {
2486            Some(ref prefix) => format!("{} {}", prefix, key),
2487            None => key,
2488        };
2489        req_builder = req_builder.query(&[("access_token", value)]);
2490    }
2491    if let Some(ref apikey) = configuration.api_key {
2492        let key = apikey.key.clone();
2493        let value = match apikey.prefix {
2494            Some(ref prefix) => format!("{} {}", prefix, key),
2495            None => key,
2496        };
2497        req_builder = req_builder.query(&[("sudo", value)]);
2498    }
2499    if let Some(ref apikey) = configuration.api_key {
2500        let key = apikey.key.clone();
2501        let value = match apikey.prefix {
2502            Some(ref prefix) => format!("{} {}", prefix, key),
2503            None => key,
2504        };
2505        req_builder = req_builder.query(&[("token", value)]);
2506    }
2507    if let Some(ref user_agent) = configuration.user_agent {
2508        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2509    }
2510    if let Some(ref apikey) = configuration.api_key {
2511        let key = apikey.key.clone();
2512        let value = match apikey.prefix {
2513            Some(ref prefix) => format!("{} {}", prefix, key),
2514            None => key,
2515        };
2516        req_builder = req_builder.header("X-GITEA-OTP", value);
2517    };
2518    if let Some(ref apikey) = configuration.api_key {
2519        let key = apikey.key.clone();
2520        let value = match apikey.prefix {
2521            Some(ref prefix) => format!("{} {}", prefix, key),
2522            None => key,
2523        };
2524        req_builder = req_builder.header("Authorization", value);
2525    };
2526    if let Some(ref apikey) = configuration.api_key {
2527        let key = apikey.key.clone();
2528        let value = match apikey.prefix {
2529            Some(ref prefix) => format!("{} {}", prefix, key),
2530            None => key,
2531        };
2532        req_builder = req_builder.header("Sudo", value);
2533    };
2534    if let Some(ref auth_conf) = configuration.basic_auth {
2535        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2536    };
2537
2538    let req = req_builder.build()?;
2539    let resp = configuration.client.execute(req).await?;
2540
2541    let status = resp.status();
2542
2543    if !status.is_client_error() && !status.is_server_error() {
2544        Ok(())
2545    } else {
2546        let content = resp.text().await?;
2547        let entity: Option<UserCreateRunnerRegistrationTokenError> = serde_json::from_str(&content).ok();
2548        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2549    }
2550}
2551
2552pub async fn user_create_token(configuration: &configuration::Configuration, username: &str, body: Option<models::CreateAccessTokenOption>) -> Result<models::AccessToken, Error<UserCreateTokenError>> {
2553    // add a prefix to parameters to efficiently prevent name collisions
2554    let p_path_username = username;
2555    let p_body_body = body;
2556
2557    let uri_str = format!("{}/users/{username}/tokens", configuration.base_path, username=crate::apis::urlencode(p_path_username));
2558    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
2559
2560    if let Some(ref apikey) = configuration.api_key {
2561        let key = apikey.key.clone();
2562        let value = match apikey.prefix {
2563            Some(ref prefix) => format!("{} {}", prefix, key),
2564            None => key,
2565        };
2566        req_builder = req_builder.query(&[("access_token", value)]);
2567    }
2568    if let Some(ref apikey) = configuration.api_key {
2569        let key = apikey.key.clone();
2570        let value = match apikey.prefix {
2571            Some(ref prefix) => format!("{} {}", prefix, key),
2572            None => key,
2573        };
2574        req_builder = req_builder.query(&[("sudo", value)]);
2575    }
2576    if let Some(ref apikey) = configuration.api_key {
2577        let key = apikey.key.clone();
2578        let value = match apikey.prefix {
2579            Some(ref prefix) => format!("{} {}", prefix, key),
2580            None => key,
2581        };
2582        req_builder = req_builder.query(&[("token", value)]);
2583    }
2584    if let Some(ref user_agent) = configuration.user_agent {
2585        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2586    }
2587    if let Some(ref apikey) = configuration.api_key {
2588        let key = apikey.key.clone();
2589        let value = match apikey.prefix {
2590            Some(ref prefix) => format!("{} {}", prefix, key),
2591            None => key,
2592        };
2593        req_builder = req_builder.header("X-GITEA-OTP", value);
2594    };
2595    if let Some(ref apikey) = configuration.api_key {
2596        let key = apikey.key.clone();
2597        let value = match apikey.prefix {
2598            Some(ref prefix) => format!("{} {}", prefix, key),
2599            None => key,
2600        };
2601        req_builder = req_builder.header("Authorization", value);
2602    };
2603    if let Some(ref apikey) = configuration.api_key {
2604        let key = apikey.key.clone();
2605        let value = match apikey.prefix {
2606            Some(ref prefix) => format!("{} {}", prefix, key),
2607            None => key,
2608        };
2609        req_builder = req_builder.header("Sudo", value);
2610    };
2611    if let Some(ref auth_conf) = configuration.basic_auth {
2612        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2613    };
2614    req_builder = req_builder.json(&p_body_body);
2615
2616    let req = req_builder.build()?;
2617    let resp = configuration.client.execute(req).await?;
2618
2619    let status = resp.status();
2620    let content_type = resp
2621        .headers()
2622        .get("content-type")
2623        .and_then(|v| v.to_str().ok())
2624        .unwrap_or("application/octet-stream");
2625    let content_type = super::ContentType::from(content_type);
2626
2627    if !status.is_client_error() && !status.is_server_error() {
2628        let content = resp.text().await?;
2629        match content_type {
2630            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
2631            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::AccessToken`"))),
2632            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::AccessToken`")))),
2633        }
2634    } else {
2635        let content = resp.text().await?;
2636        let entity: Option<UserCreateTokenError> = serde_json::from_str(&content).ok();
2637        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2638    }
2639}
2640
2641pub async fn user_current_check_following(configuration: &configuration::Configuration, username: &str) -> Result<(), Error<UserCurrentCheckFollowingError>> {
2642    // add a prefix to parameters to efficiently prevent name collisions
2643    let p_path_username = username;
2644
2645    let uri_str = format!("{}/user/following/{username}", configuration.base_path, username=crate::apis::urlencode(p_path_username));
2646    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
2647
2648    if let Some(ref apikey) = configuration.api_key {
2649        let key = apikey.key.clone();
2650        let value = match apikey.prefix {
2651            Some(ref prefix) => format!("{} {}", prefix, key),
2652            None => key,
2653        };
2654        req_builder = req_builder.query(&[("access_token", value)]);
2655    }
2656    if let Some(ref apikey) = configuration.api_key {
2657        let key = apikey.key.clone();
2658        let value = match apikey.prefix {
2659            Some(ref prefix) => format!("{} {}", prefix, key),
2660            None => key,
2661        };
2662        req_builder = req_builder.query(&[("sudo", value)]);
2663    }
2664    if let Some(ref apikey) = configuration.api_key {
2665        let key = apikey.key.clone();
2666        let value = match apikey.prefix {
2667            Some(ref prefix) => format!("{} {}", prefix, key),
2668            None => key,
2669        };
2670        req_builder = req_builder.query(&[("token", value)]);
2671    }
2672    if let Some(ref user_agent) = configuration.user_agent {
2673        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2674    }
2675    if let Some(ref apikey) = configuration.api_key {
2676        let key = apikey.key.clone();
2677        let value = match apikey.prefix {
2678            Some(ref prefix) => format!("{} {}", prefix, key),
2679            None => key,
2680        };
2681        req_builder = req_builder.header("X-GITEA-OTP", value);
2682    };
2683    if let Some(ref apikey) = configuration.api_key {
2684        let key = apikey.key.clone();
2685        let value = match apikey.prefix {
2686            Some(ref prefix) => format!("{} {}", prefix, key),
2687            None => key,
2688        };
2689        req_builder = req_builder.header("Authorization", value);
2690    };
2691    if let Some(ref apikey) = configuration.api_key {
2692        let key = apikey.key.clone();
2693        let value = match apikey.prefix {
2694            Some(ref prefix) => format!("{} {}", prefix, key),
2695            None => key,
2696        };
2697        req_builder = req_builder.header("Sudo", value);
2698    };
2699    if let Some(ref auth_conf) = configuration.basic_auth {
2700        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2701    };
2702
2703    let req = req_builder.build()?;
2704    let resp = configuration.client.execute(req).await?;
2705
2706    let status = resp.status();
2707
2708    if !status.is_client_error() && !status.is_server_error() {
2709        Ok(())
2710    } else {
2711        let content = resp.text().await?;
2712        let entity: Option<UserCurrentCheckFollowingError> = serde_json::from_str(&content).ok();
2713        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2714    }
2715}
2716
2717pub async fn user_current_check_starring(configuration: &configuration::Configuration, owner: &str, repo: &str) -> Result<(), Error<UserCurrentCheckStarringError>> {
2718    // add a prefix to parameters to efficiently prevent name collisions
2719    let p_path_owner = owner;
2720    let p_path_repo = repo;
2721
2722    let uri_str = format!("{}/user/starred/{owner}/{repo}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), repo=crate::apis::urlencode(p_path_repo));
2723    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
2724
2725    if let Some(ref apikey) = configuration.api_key {
2726        let key = apikey.key.clone();
2727        let value = match apikey.prefix {
2728            Some(ref prefix) => format!("{} {}", prefix, key),
2729            None => key,
2730        };
2731        req_builder = req_builder.query(&[("access_token", value)]);
2732    }
2733    if let Some(ref apikey) = configuration.api_key {
2734        let key = apikey.key.clone();
2735        let value = match apikey.prefix {
2736            Some(ref prefix) => format!("{} {}", prefix, key),
2737            None => key,
2738        };
2739        req_builder = req_builder.query(&[("sudo", value)]);
2740    }
2741    if let Some(ref apikey) = configuration.api_key {
2742        let key = apikey.key.clone();
2743        let value = match apikey.prefix {
2744            Some(ref prefix) => format!("{} {}", prefix, key),
2745            None => key,
2746        };
2747        req_builder = req_builder.query(&[("token", value)]);
2748    }
2749    if let Some(ref user_agent) = configuration.user_agent {
2750        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2751    }
2752    if let Some(ref apikey) = configuration.api_key {
2753        let key = apikey.key.clone();
2754        let value = match apikey.prefix {
2755            Some(ref prefix) => format!("{} {}", prefix, key),
2756            None => key,
2757        };
2758        req_builder = req_builder.header("X-GITEA-OTP", value);
2759    };
2760    if let Some(ref apikey) = configuration.api_key {
2761        let key = apikey.key.clone();
2762        let value = match apikey.prefix {
2763            Some(ref prefix) => format!("{} {}", prefix, key),
2764            None => key,
2765        };
2766        req_builder = req_builder.header("Authorization", value);
2767    };
2768    if let Some(ref apikey) = configuration.api_key {
2769        let key = apikey.key.clone();
2770        let value = match apikey.prefix {
2771            Some(ref prefix) => format!("{} {}", prefix, key),
2772            None => key,
2773        };
2774        req_builder = req_builder.header("Sudo", value);
2775    };
2776    if let Some(ref auth_conf) = configuration.basic_auth {
2777        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2778    };
2779
2780    let req = req_builder.build()?;
2781    let resp = configuration.client.execute(req).await?;
2782
2783    let status = resp.status();
2784
2785    if !status.is_client_error() && !status.is_server_error() {
2786        Ok(())
2787    } else {
2788        let content = resp.text().await?;
2789        let entity: Option<UserCurrentCheckStarringError> = serde_json::from_str(&content).ok();
2790        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2791    }
2792}
2793
2794pub async fn user_current_delete_follow(configuration: &configuration::Configuration, username: &str) -> Result<(), Error<UserCurrentDeleteFollowError>> {
2795    // add a prefix to parameters to efficiently prevent name collisions
2796    let p_path_username = username;
2797
2798    let uri_str = format!("{}/user/following/{username}", configuration.base_path, username=crate::apis::urlencode(p_path_username));
2799    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
2800
2801    if let Some(ref apikey) = configuration.api_key {
2802        let key = apikey.key.clone();
2803        let value = match apikey.prefix {
2804            Some(ref prefix) => format!("{} {}", prefix, key),
2805            None => key,
2806        };
2807        req_builder = req_builder.query(&[("access_token", value)]);
2808    }
2809    if let Some(ref apikey) = configuration.api_key {
2810        let key = apikey.key.clone();
2811        let value = match apikey.prefix {
2812            Some(ref prefix) => format!("{} {}", prefix, key),
2813            None => key,
2814        };
2815        req_builder = req_builder.query(&[("sudo", value)]);
2816    }
2817    if let Some(ref apikey) = configuration.api_key {
2818        let key = apikey.key.clone();
2819        let value = match apikey.prefix {
2820            Some(ref prefix) => format!("{} {}", prefix, key),
2821            None => key,
2822        };
2823        req_builder = req_builder.query(&[("token", value)]);
2824    }
2825    if let Some(ref user_agent) = configuration.user_agent {
2826        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2827    }
2828    if let Some(ref apikey) = configuration.api_key {
2829        let key = apikey.key.clone();
2830        let value = match apikey.prefix {
2831            Some(ref prefix) => format!("{} {}", prefix, key),
2832            None => key,
2833        };
2834        req_builder = req_builder.header("X-GITEA-OTP", value);
2835    };
2836    if let Some(ref apikey) = configuration.api_key {
2837        let key = apikey.key.clone();
2838        let value = match apikey.prefix {
2839            Some(ref prefix) => format!("{} {}", prefix, key),
2840            None => key,
2841        };
2842        req_builder = req_builder.header("Authorization", value);
2843    };
2844    if let Some(ref apikey) = configuration.api_key {
2845        let key = apikey.key.clone();
2846        let value = match apikey.prefix {
2847            Some(ref prefix) => format!("{} {}", prefix, key),
2848            None => key,
2849        };
2850        req_builder = req_builder.header("Sudo", value);
2851    };
2852    if let Some(ref auth_conf) = configuration.basic_auth {
2853        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2854    };
2855
2856    let req = req_builder.build()?;
2857    let resp = configuration.client.execute(req).await?;
2858
2859    let status = resp.status();
2860
2861    if !status.is_client_error() && !status.is_server_error() {
2862        Ok(())
2863    } else {
2864        let content = resp.text().await?;
2865        let entity: Option<UserCurrentDeleteFollowError> = serde_json::from_str(&content).ok();
2866        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2867    }
2868}
2869
2870pub async fn user_current_delete_gpg_key(configuration: &configuration::Configuration, id: i64) -> Result<(), Error<UserCurrentDeleteGpgKeyError>> {
2871    // add a prefix to parameters to efficiently prevent name collisions
2872    let p_path_id = id;
2873
2874    let uri_str = format!("{}/user/gpg_keys/{id}", configuration.base_path, id=p_path_id);
2875    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
2876
2877    if let Some(ref apikey) = configuration.api_key {
2878        let key = apikey.key.clone();
2879        let value = match apikey.prefix {
2880            Some(ref prefix) => format!("{} {}", prefix, key),
2881            None => key,
2882        };
2883        req_builder = req_builder.query(&[("access_token", value)]);
2884    }
2885    if let Some(ref apikey) = configuration.api_key {
2886        let key = apikey.key.clone();
2887        let value = match apikey.prefix {
2888            Some(ref prefix) => format!("{} {}", prefix, key),
2889            None => key,
2890        };
2891        req_builder = req_builder.query(&[("sudo", value)]);
2892    }
2893    if let Some(ref apikey) = configuration.api_key {
2894        let key = apikey.key.clone();
2895        let value = match apikey.prefix {
2896            Some(ref prefix) => format!("{} {}", prefix, key),
2897            None => key,
2898        };
2899        req_builder = req_builder.query(&[("token", value)]);
2900    }
2901    if let Some(ref user_agent) = configuration.user_agent {
2902        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2903    }
2904    if let Some(ref apikey) = configuration.api_key {
2905        let key = apikey.key.clone();
2906        let value = match apikey.prefix {
2907            Some(ref prefix) => format!("{} {}", prefix, key),
2908            None => key,
2909        };
2910        req_builder = req_builder.header("X-GITEA-OTP", value);
2911    };
2912    if let Some(ref apikey) = configuration.api_key {
2913        let key = apikey.key.clone();
2914        let value = match apikey.prefix {
2915            Some(ref prefix) => format!("{} {}", prefix, key),
2916            None => key,
2917        };
2918        req_builder = req_builder.header("Authorization", value);
2919    };
2920    if let Some(ref apikey) = configuration.api_key {
2921        let key = apikey.key.clone();
2922        let value = match apikey.prefix {
2923            Some(ref prefix) => format!("{} {}", prefix, key),
2924            None => key,
2925        };
2926        req_builder = req_builder.header("Sudo", value);
2927    };
2928    if let Some(ref auth_conf) = configuration.basic_auth {
2929        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
2930    };
2931
2932    let req = req_builder.build()?;
2933    let resp = configuration.client.execute(req).await?;
2934
2935    let status = resp.status();
2936
2937    if !status.is_client_error() && !status.is_server_error() {
2938        Ok(())
2939    } else {
2940        let content = resp.text().await?;
2941        let entity: Option<UserCurrentDeleteGpgKeyError> = serde_json::from_str(&content).ok();
2942        Err(Error::ResponseError(ResponseContent { status, content, entity }))
2943    }
2944}
2945
2946pub async fn user_current_delete_key(configuration: &configuration::Configuration, id: i64) -> Result<(), Error<UserCurrentDeleteKeyError>> {
2947    // add a prefix to parameters to efficiently prevent name collisions
2948    let p_path_id = id;
2949
2950    let uri_str = format!("{}/user/keys/{id}", configuration.base_path, id=p_path_id);
2951    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
2952
2953    if let Some(ref apikey) = configuration.api_key {
2954        let key = apikey.key.clone();
2955        let value = match apikey.prefix {
2956            Some(ref prefix) => format!("{} {}", prefix, key),
2957            None => key,
2958        };
2959        req_builder = req_builder.query(&[("access_token", value)]);
2960    }
2961    if let Some(ref apikey) = configuration.api_key {
2962        let key = apikey.key.clone();
2963        let value = match apikey.prefix {
2964            Some(ref prefix) => format!("{} {}", prefix, key),
2965            None => key,
2966        };
2967        req_builder = req_builder.query(&[("sudo", value)]);
2968    }
2969    if let Some(ref apikey) = configuration.api_key {
2970        let key = apikey.key.clone();
2971        let value = match apikey.prefix {
2972            Some(ref prefix) => format!("{} {}", prefix, key),
2973            None => key,
2974        };
2975        req_builder = req_builder.query(&[("token", value)]);
2976    }
2977    if let Some(ref user_agent) = configuration.user_agent {
2978        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2979    }
2980    if let Some(ref apikey) = configuration.api_key {
2981        let key = apikey.key.clone();
2982        let value = match apikey.prefix {
2983            Some(ref prefix) => format!("{} {}", prefix, key),
2984            None => key,
2985        };
2986        req_builder = req_builder.header("X-GITEA-OTP", value);
2987    };
2988    if let Some(ref apikey) = configuration.api_key {
2989        let key = apikey.key.clone();
2990        let value = match apikey.prefix {
2991            Some(ref prefix) => format!("{} {}", prefix, key),
2992            None => key,
2993        };
2994        req_builder = req_builder.header("Authorization", value);
2995    };
2996    if let Some(ref apikey) = configuration.api_key {
2997        let key = apikey.key.clone();
2998        let value = match apikey.prefix {
2999            Some(ref prefix) => format!("{} {}", prefix, key),
3000            None => key,
3001        };
3002        req_builder = req_builder.header("Sudo", value);
3003    };
3004    if let Some(ref auth_conf) = configuration.basic_auth {
3005        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3006    };
3007
3008    let req = req_builder.build()?;
3009    let resp = configuration.client.execute(req).await?;
3010
3011    let status = resp.status();
3012
3013    if !status.is_client_error() && !status.is_server_error() {
3014        Ok(())
3015    } else {
3016        let content = resp.text().await?;
3017        let entity: Option<UserCurrentDeleteKeyError> = serde_json::from_str(&content).ok();
3018        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3019    }
3020}
3021
3022pub async fn user_current_delete_star(configuration: &configuration::Configuration, owner: &str, repo: &str) -> Result<(), Error<UserCurrentDeleteStarError>> {
3023    // add a prefix to parameters to efficiently prevent name collisions
3024    let p_path_owner = owner;
3025    let p_path_repo = repo;
3026
3027    let uri_str = format!("{}/user/starred/{owner}/{repo}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), repo=crate::apis::urlencode(p_path_repo));
3028    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
3029
3030    if let Some(ref apikey) = configuration.api_key {
3031        let key = apikey.key.clone();
3032        let value = match apikey.prefix {
3033            Some(ref prefix) => format!("{} {}", prefix, key),
3034            None => key,
3035        };
3036        req_builder = req_builder.query(&[("access_token", value)]);
3037    }
3038    if let Some(ref apikey) = configuration.api_key {
3039        let key = apikey.key.clone();
3040        let value = match apikey.prefix {
3041            Some(ref prefix) => format!("{} {}", prefix, key),
3042            None => key,
3043        };
3044        req_builder = req_builder.query(&[("sudo", value)]);
3045    }
3046    if let Some(ref apikey) = configuration.api_key {
3047        let key = apikey.key.clone();
3048        let value = match apikey.prefix {
3049            Some(ref prefix) => format!("{} {}", prefix, key),
3050            None => key,
3051        };
3052        req_builder = req_builder.query(&[("token", value)]);
3053    }
3054    if let Some(ref user_agent) = configuration.user_agent {
3055        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3056    }
3057    if let Some(ref apikey) = configuration.api_key {
3058        let key = apikey.key.clone();
3059        let value = match apikey.prefix {
3060            Some(ref prefix) => format!("{} {}", prefix, key),
3061            None => key,
3062        };
3063        req_builder = req_builder.header("X-GITEA-OTP", value);
3064    };
3065    if let Some(ref apikey) = configuration.api_key {
3066        let key = apikey.key.clone();
3067        let value = match apikey.prefix {
3068            Some(ref prefix) => format!("{} {}", prefix, key),
3069            None => key,
3070        };
3071        req_builder = req_builder.header("Authorization", value);
3072    };
3073    if let Some(ref apikey) = configuration.api_key {
3074        let key = apikey.key.clone();
3075        let value = match apikey.prefix {
3076            Some(ref prefix) => format!("{} {}", prefix, key),
3077            None => key,
3078        };
3079        req_builder = req_builder.header("Sudo", value);
3080    };
3081    if let Some(ref auth_conf) = configuration.basic_auth {
3082        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3083    };
3084
3085    let req = req_builder.build()?;
3086    let resp = configuration.client.execute(req).await?;
3087
3088    let status = resp.status();
3089
3090    if !status.is_client_error() && !status.is_server_error() {
3091        Ok(())
3092    } else {
3093        let content = resp.text().await?;
3094        let entity: Option<UserCurrentDeleteStarError> = serde_json::from_str(&content).ok();
3095        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3096    }
3097}
3098
3099pub async fn user_current_get_gpg_key(configuration: &configuration::Configuration, id: i64) -> Result<models::GpgKey, Error<UserCurrentGetGpgKeyError>> {
3100    // add a prefix to parameters to efficiently prevent name collisions
3101    let p_path_id = id;
3102
3103    let uri_str = format!("{}/user/gpg_keys/{id}", configuration.base_path, id=p_path_id);
3104    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3105
3106    if let Some(ref apikey) = configuration.api_key {
3107        let key = apikey.key.clone();
3108        let value = match apikey.prefix {
3109            Some(ref prefix) => format!("{} {}", prefix, key),
3110            None => key,
3111        };
3112        req_builder = req_builder.query(&[("access_token", value)]);
3113    }
3114    if let Some(ref apikey) = configuration.api_key {
3115        let key = apikey.key.clone();
3116        let value = match apikey.prefix {
3117            Some(ref prefix) => format!("{} {}", prefix, key),
3118            None => key,
3119        };
3120        req_builder = req_builder.query(&[("sudo", value)]);
3121    }
3122    if let Some(ref apikey) = configuration.api_key {
3123        let key = apikey.key.clone();
3124        let value = match apikey.prefix {
3125            Some(ref prefix) => format!("{} {}", prefix, key),
3126            None => key,
3127        };
3128        req_builder = req_builder.query(&[("token", value)]);
3129    }
3130    if let Some(ref user_agent) = configuration.user_agent {
3131        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3132    }
3133    if let Some(ref apikey) = configuration.api_key {
3134        let key = apikey.key.clone();
3135        let value = match apikey.prefix {
3136            Some(ref prefix) => format!("{} {}", prefix, key),
3137            None => key,
3138        };
3139        req_builder = req_builder.header("X-GITEA-OTP", value);
3140    };
3141    if let Some(ref apikey) = configuration.api_key {
3142        let key = apikey.key.clone();
3143        let value = match apikey.prefix {
3144            Some(ref prefix) => format!("{} {}", prefix, key),
3145            None => key,
3146        };
3147        req_builder = req_builder.header("Authorization", value);
3148    };
3149    if let Some(ref apikey) = configuration.api_key {
3150        let key = apikey.key.clone();
3151        let value = match apikey.prefix {
3152            Some(ref prefix) => format!("{} {}", prefix, key),
3153            None => key,
3154        };
3155        req_builder = req_builder.header("Sudo", value);
3156    };
3157    if let Some(ref auth_conf) = configuration.basic_auth {
3158        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3159    };
3160
3161    let req = req_builder.build()?;
3162    let resp = configuration.client.execute(req).await?;
3163
3164    let status = resp.status();
3165    let content_type = resp
3166        .headers()
3167        .get("content-type")
3168        .and_then(|v| v.to_str().ok())
3169        .unwrap_or("application/octet-stream");
3170    let content_type = super::ContentType::from(content_type);
3171
3172    if !status.is_client_error() && !status.is_server_error() {
3173        let content = resp.text().await?;
3174        match content_type {
3175            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3176            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GpgKey`"))),
3177            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GpgKey`")))),
3178        }
3179    } else {
3180        let content = resp.text().await?;
3181        let entity: Option<UserCurrentGetGpgKeyError> = serde_json::from_str(&content).ok();
3182        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3183    }
3184}
3185
3186pub async fn user_current_get_key(configuration: &configuration::Configuration, id: i64) -> Result<models::PublicKey, Error<UserCurrentGetKeyError>> {
3187    // add a prefix to parameters to efficiently prevent name collisions
3188    let p_path_id = id;
3189
3190    let uri_str = format!("{}/user/keys/{id}", configuration.base_path, id=p_path_id);
3191    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3192
3193    if let Some(ref apikey) = configuration.api_key {
3194        let key = apikey.key.clone();
3195        let value = match apikey.prefix {
3196            Some(ref prefix) => format!("{} {}", prefix, key),
3197            None => key,
3198        };
3199        req_builder = req_builder.query(&[("access_token", value)]);
3200    }
3201    if let Some(ref apikey) = configuration.api_key {
3202        let key = apikey.key.clone();
3203        let value = match apikey.prefix {
3204            Some(ref prefix) => format!("{} {}", prefix, key),
3205            None => key,
3206        };
3207        req_builder = req_builder.query(&[("sudo", value)]);
3208    }
3209    if let Some(ref apikey) = configuration.api_key {
3210        let key = apikey.key.clone();
3211        let value = match apikey.prefix {
3212            Some(ref prefix) => format!("{} {}", prefix, key),
3213            None => key,
3214        };
3215        req_builder = req_builder.query(&[("token", value)]);
3216    }
3217    if let Some(ref user_agent) = configuration.user_agent {
3218        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3219    }
3220    if let Some(ref apikey) = configuration.api_key {
3221        let key = apikey.key.clone();
3222        let value = match apikey.prefix {
3223            Some(ref prefix) => format!("{} {}", prefix, key),
3224            None => key,
3225        };
3226        req_builder = req_builder.header("X-GITEA-OTP", value);
3227    };
3228    if let Some(ref apikey) = configuration.api_key {
3229        let key = apikey.key.clone();
3230        let value = match apikey.prefix {
3231            Some(ref prefix) => format!("{} {}", prefix, key),
3232            None => key,
3233        };
3234        req_builder = req_builder.header("Authorization", value);
3235    };
3236    if let Some(ref apikey) = configuration.api_key {
3237        let key = apikey.key.clone();
3238        let value = match apikey.prefix {
3239            Some(ref prefix) => format!("{} {}", prefix, key),
3240            None => key,
3241        };
3242        req_builder = req_builder.header("Sudo", value);
3243    };
3244    if let Some(ref auth_conf) = configuration.basic_auth {
3245        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3246    };
3247
3248    let req = req_builder.build()?;
3249    let resp = configuration.client.execute(req).await?;
3250
3251    let status = resp.status();
3252    let content_type = resp
3253        .headers()
3254        .get("content-type")
3255        .and_then(|v| v.to_str().ok())
3256        .unwrap_or("application/octet-stream");
3257    let content_type = super::ContentType::from(content_type);
3258
3259    if !status.is_client_error() && !status.is_server_error() {
3260        let content = resp.text().await?;
3261        match content_type {
3262            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3263            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PublicKey`"))),
3264            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PublicKey`")))),
3265        }
3266    } else {
3267        let content = resp.text().await?;
3268        let entity: Option<UserCurrentGetKeyError> = serde_json::from_str(&content).ok();
3269        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3270    }
3271}
3272
3273pub async fn user_current_list_followers(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::User>, Error<UserCurrentListFollowersError>> {
3274    // add a prefix to parameters to efficiently prevent name collisions
3275    let p_query_page = page;
3276    let p_query_limit = limit;
3277
3278    let uri_str = format!("{}/user/followers", configuration.base_path);
3279    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3280
3281    if let Some(ref param_value) = p_query_page {
3282        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
3283    }
3284    if let Some(ref param_value) = p_query_limit {
3285        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
3286    }
3287    if let Some(ref apikey) = configuration.api_key {
3288        let key = apikey.key.clone();
3289        let value = match apikey.prefix {
3290            Some(ref prefix) => format!("{} {}", prefix, key),
3291            None => key,
3292        };
3293        req_builder = req_builder.query(&[("access_token", value)]);
3294    }
3295    if let Some(ref apikey) = configuration.api_key {
3296        let key = apikey.key.clone();
3297        let value = match apikey.prefix {
3298            Some(ref prefix) => format!("{} {}", prefix, key),
3299            None => key,
3300        };
3301        req_builder = req_builder.query(&[("sudo", value)]);
3302    }
3303    if let Some(ref apikey) = configuration.api_key {
3304        let key = apikey.key.clone();
3305        let value = match apikey.prefix {
3306            Some(ref prefix) => format!("{} {}", prefix, key),
3307            None => key,
3308        };
3309        req_builder = req_builder.query(&[("token", value)]);
3310    }
3311    if let Some(ref user_agent) = configuration.user_agent {
3312        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3313    }
3314    if let Some(ref apikey) = configuration.api_key {
3315        let key = apikey.key.clone();
3316        let value = match apikey.prefix {
3317            Some(ref prefix) => format!("{} {}", prefix, key),
3318            None => key,
3319        };
3320        req_builder = req_builder.header("X-GITEA-OTP", value);
3321    };
3322    if let Some(ref apikey) = configuration.api_key {
3323        let key = apikey.key.clone();
3324        let value = match apikey.prefix {
3325            Some(ref prefix) => format!("{} {}", prefix, key),
3326            None => key,
3327        };
3328        req_builder = req_builder.header("Authorization", value);
3329    };
3330    if let Some(ref apikey) = configuration.api_key {
3331        let key = apikey.key.clone();
3332        let value = match apikey.prefix {
3333            Some(ref prefix) => format!("{} {}", prefix, key),
3334            None => key,
3335        };
3336        req_builder = req_builder.header("Sudo", value);
3337    };
3338    if let Some(ref auth_conf) = configuration.basic_auth {
3339        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3340    };
3341
3342    let req = req_builder.build()?;
3343    let resp = configuration.client.execute(req).await?;
3344
3345    let status = resp.status();
3346    let content_type = resp
3347        .headers()
3348        .get("content-type")
3349        .and_then(|v| v.to_str().ok())
3350        .unwrap_or("application/octet-stream");
3351    let content_type = super::ContentType::from(content_type);
3352
3353    if !status.is_client_error() && !status.is_server_error() {
3354        let content = resp.text().await?;
3355        match content_type {
3356            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3357            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::User&gt;`"))),
3358            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::User&gt;`")))),
3359        }
3360    } else {
3361        let content = resp.text().await?;
3362        let entity: Option<UserCurrentListFollowersError> = serde_json::from_str(&content).ok();
3363        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3364    }
3365}
3366
3367pub async fn user_current_list_following(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::User>, Error<UserCurrentListFollowingError>> {
3368    // add a prefix to parameters to efficiently prevent name collisions
3369    let p_query_page = page;
3370    let p_query_limit = limit;
3371
3372    let uri_str = format!("{}/user/following", configuration.base_path);
3373    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3374
3375    if let Some(ref param_value) = p_query_page {
3376        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
3377    }
3378    if let Some(ref param_value) = p_query_limit {
3379        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
3380    }
3381    if let Some(ref apikey) = configuration.api_key {
3382        let key = apikey.key.clone();
3383        let value = match apikey.prefix {
3384            Some(ref prefix) => format!("{} {}", prefix, key),
3385            None => key,
3386        };
3387        req_builder = req_builder.query(&[("access_token", value)]);
3388    }
3389    if let Some(ref apikey) = configuration.api_key {
3390        let key = apikey.key.clone();
3391        let value = match apikey.prefix {
3392            Some(ref prefix) => format!("{} {}", prefix, key),
3393            None => key,
3394        };
3395        req_builder = req_builder.query(&[("sudo", value)]);
3396    }
3397    if let Some(ref apikey) = configuration.api_key {
3398        let key = apikey.key.clone();
3399        let value = match apikey.prefix {
3400            Some(ref prefix) => format!("{} {}", prefix, key),
3401            None => key,
3402        };
3403        req_builder = req_builder.query(&[("token", value)]);
3404    }
3405    if let Some(ref user_agent) = configuration.user_agent {
3406        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3407    }
3408    if let Some(ref apikey) = configuration.api_key {
3409        let key = apikey.key.clone();
3410        let value = match apikey.prefix {
3411            Some(ref prefix) => format!("{} {}", prefix, key),
3412            None => key,
3413        };
3414        req_builder = req_builder.header("X-GITEA-OTP", value);
3415    };
3416    if let Some(ref apikey) = configuration.api_key {
3417        let key = apikey.key.clone();
3418        let value = match apikey.prefix {
3419            Some(ref prefix) => format!("{} {}", prefix, key),
3420            None => key,
3421        };
3422        req_builder = req_builder.header("Authorization", value);
3423    };
3424    if let Some(ref apikey) = configuration.api_key {
3425        let key = apikey.key.clone();
3426        let value = match apikey.prefix {
3427            Some(ref prefix) => format!("{} {}", prefix, key),
3428            None => key,
3429        };
3430        req_builder = req_builder.header("Sudo", value);
3431    };
3432    if let Some(ref auth_conf) = configuration.basic_auth {
3433        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3434    };
3435
3436    let req = req_builder.build()?;
3437    let resp = configuration.client.execute(req).await?;
3438
3439    let status = resp.status();
3440    let content_type = resp
3441        .headers()
3442        .get("content-type")
3443        .and_then(|v| v.to_str().ok())
3444        .unwrap_or("application/octet-stream");
3445    let content_type = super::ContentType::from(content_type);
3446
3447    if !status.is_client_error() && !status.is_server_error() {
3448        let content = resp.text().await?;
3449        match content_type {
3450            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3451            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::User&gt;`"))),
3452            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::User&gt;`")))),
3453        }
3454    } else {
3455        let content = resp.text().await?;
3456        let entity: Option<UserCurrentListFollowingError> = serde_json::from_str(&content).ok();
3457        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3458    }
3459}
3460
3461pub async fn user_current_list_gpg_keys(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::GpgKey>, Error<UserCurrentListGpgKeysError>> {
3462    // add a prefix to parameters to efficiently prevent name collisions
3463    let p_query_page = page;
3464    let p_query_limit = limit;
3465
3466    let uri_str = format!("{}/user/gpg_keys", configuration.base_path);
3467    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3468
3469    if let Some(ref param_value) = p_query_page {
3470        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
3471    }
3472    if let Some(ref param_value) = p_query_limit {
3473        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
3474    }
3475    if let Some(ref apikey) = configuration.api_key {
3476        let key = apikey.key.clone();
3477        let value = match apikey.prefix {
3478            Some(ref prefix) => format!("{} {}", prefix, key),
3479            None => key,
3480        };
3481        req_builder = req_builder.query(&[("access_token", value)]);
3482    }
3483    if let Some(ref apikey) = configuration.api_key {
3484        let key = apikey.key.clone();
3485        let value = match apikey.prefix {
3486            Some(ref prefix) => format!("{} {}", prefix, key),
3487            None => key,
3488        };
3489        req_builder = req_builder.query(&[("sudo", value)]);
3490    }
3491    if let Some(ref apikey) = configuration.api_key {
3492        let key = apikey.key.clone();
3493        let value = match apikey.prefix {
3494            Some(ref prefix) => format!("{} {}", prefix, key),
3495            None => key,
3496        };
3497        req_builder = req_builder.query(&[("token", value)]);
3498    }
3499    if let Some(ref user_agent) = configuration.user_agent {
3500        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3501    }
3502    if let Some(ref apikey) = configuration.api_key {
3503        let key = apikey.key.clone();
3504        let value = match apikey.prefix {
3505            Some(ref prefix) => format!("{} {}", prefix, key),
3506            None => key,
3507        };
3508        req_builder = req_builder.header("X-GITEA-OTP", value);
3509    };
3510    if let Some(ref apikey) = configuration.api_key {
3511        let key = apikey.key.clone();
3512        let value = match apikey.prefix {
3513            Some(ref prefix) => format!("{} {}", prefix, key),
3514            None => key,
3515        };
3516        req_builder = req_builder.header("Authorization", value);
3517    };
3518    if let Some(ref apikey) = configuration.api_key {
3519        let key = apikey.key.clone();
3520        let value = match apikey.prefix {
3521            Some(ref prefix) => format!("{} {}", prefix, key),
3522            None => key,
3523        };
3524        req_builder = req_builder.header("Sudo", value);
3525    };
3526    if let Some(ref auth_conf) = configuration.basic_auth {
3527        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3528    };
3529
3530    let req = req_builder.build()?;
3531    let resp = configuration.client.execute(req).await?;
3532
3533    let status = resp.status();
3534    let content_type = resp
3535        .headers()
3536        .get("content-type")
3537        .and_then(|v| v.to_str().ok())
3538        .unwrap_or("application/octet-stream");
3539    let content_type = super::ContentType::from(content_type);
3540
3541    if !status.is_client_error() && !status.is_server_error() {
3542        let content = resp.text().await?;
3543        match content_type {
3544            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3545            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::GpgKey&gt;`"))),
3546            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::GpgKey&gt;`")))),
3547        }
3548    } else {
3549        let content = resp.text().await?;
3550        let entity: Option<UserCurrentListGpgKeysError> = serde_json::from_str(&content).ok();
3551        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3552    }
3553}
3554
3555pub async fn user_current_list_keys(configuration: &configuration::Configuration, fingerprint: Option<&str>, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::PublicKey>, Error<UserCurrentListKeysError>> {
3556    // add a prefix to parameters to efficiently prevent name collisions
3557    let p_query_fingerprint = fingerprint;
3558    let p_query_page = page;
3559    let p_query_limit = limit;
3560
3561    let uri_str = format!("{}/user/keys", configuration.base_path);
3562    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3563
3564    if let Some(ref param_value) = p_query_fingerprint {
3565        req_builder = req_builder.query(&[("fingerprint", &param_value.to_string())]);
3566    }
3567    if let Some(ref param_value) = p_query_page {
3568        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
3569    }
3570    if let Some(ref param_value) = p_query_limit {
3571        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
3572    }
3573    if let Some(ref apikey) = configuration.api_key {
3574        let key = apikey.key.clone();
3575        let value = match apikey.prefix {
3576            Some(ref prefix) => format!("{} {}", prefix, key),
3577            None => key,
3578        };
3579        req_builder = req_builder.query(&[("access_token", value)]);
3580    }
3581    if let Some(ref apikey) = configuration.api_key {
3582        let key = apikey.key.clone();
3583        let value = match apikey.prefix {
3584            Some(ref prefix) => format!("{} {}", prefix, key),
3585            None => key,
3586        };
3587        req_builder = req_builder.query(&[("sudo", value)]);
3588    }
3589    if let Some(ref apikey) = configuration.api_key {
3590        let key = apikey.key.clone();
3591        let value = match apikey.prefix {
3592            Some(ref prefix) => format!("{} {}", prefix, key),
3593            None => key,
3594        };
3595        req_builder = req_builder.query(&[("token", value)]);
3596    }
3597    if let Some(ref user_agent) = configuration.user_agent {
3598        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3599    }
3600    if let Some(ref apikey) = configuration.api_key {
3601        let key = apikey.key.clone();
3602        let value = match apikey.prefix {
3603            Some(ref prefix) => format!("{} {}", prefix, key),
3604            None => key,
3605        };
3606        req_builder = req_builder.header("X-GITEA-OTP", value);
3607    };
3608    if let Some(ref apikey) = configuration.api_key {
3609        let key = apikey.key.clone();
3610        let value = match apikey.prefix {
3611            Some(ref prefix) => format!("{} {}", prefix, key),
3612            None => key,
3613        };
3614        req_builder = req_builder.header("Authorization", value);
3615    };
3616    if let Some(ref apikey) = configuration.api_key {
3617        let key = apikey.key.clone();
3618        let value = match apikey.prefix {
3619            Some(ref prefix) => format!("{} {}", prefix, key),
3620            None => key,
3621        };
3622        req_builder = req_builder.header("Sudo", value);
3623    };
3624    if let Some(ref auth_conf) = configuration.basic_auth {
3625        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3626    };
3627
3628    let req = req_builder.build()?;
3629    let resp = configuration.client.execute(req).await?;
3630
3631    let status = resp.status();
3632    let content_type = resp
3633        .headers()
3634        .get("content-type")
3635        .and_then(|v| v.to_str().ok())
3636        .unwrap_or("application/octet-stream");
3637    let content_type = super::ContentType::from(content_type);
3638
3639    if !status.is_client_error() && !status.is_server_error() {
3640        let content = resp.text().await?;
3641        match content_type {
3642            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3643            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::PublicKey&gt;`"))),
3644            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::PublicKey&gt;`")))),
3645        }
3646    } else {
3647        let content = resp.text().await?;
3648        let entity: Option<UserCurrentListKeysError> = serde_json::from_str(&content).ok();
3649        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3650    }
3651}
3652
3653pub async fn user_current_list_repos(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Repository>, Error<UserCurrentListReposError>> {
3654    // add a prefix to parameters to efficiently prevent name collisions
3655    let p_query_page = page;
3656    let p_query_limit = limit;
3657
3658    let uri_str = format!("{}/user/repos", configuration.base_path);
3659    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3660
3661    if let Some(ref param_value) = p_query_page {
3662        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
3663    }
3664    if let Some(ref param_value) = p_query_limit {
3665        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
3666    }
3667    if let Some(ref apikey) = configuration.api_key {
3668        let key = apikey.key.clone();
3669        let value = match apikey.prefix {
3670            Some(ref prefix) => format!("{} {}", prefix, key),
3671            None => key,
3672        };
3673        req_builder = req_builder.query(&[("access_token", value)]);
3674    }
3675    if let Some(ref apikey) = configuration.api_key {
3676        let key = apikey.key.clone();
3677        let value = match apikey.prefix {
3678            Some(ref prefix) => format!("{} {}", prefix, key),
3679            None => key,
3680        };
3681        req_builder = req_builder.query(&[("sudo", value)]);
3682    }
3683    if let Some(ref apikey) = configuration.api_key {
3684        let key = apikey.key.clone();
3685        let value = match apikey.prefix {
3686            Some(ref prefix) => format!("{} {}", prefix, key),
3687            None => key,
3688        };
3689        req_builder = req_builder.query(&[("token", value)]);
3690    }
3691    if let Some(ref user_agent) = configuration.user_agent {
3692        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3693    }
3694    if let Some(ref apikey) = configuration.api_key {
3695        let key = apikey.key.clone();
3696        let value = match apikey.prefix {
3697            Some(ref prefix) => format!("{} {}", prefix, key),
3698            None => key,
3699        };
3700        req_builder = req_builder.header("X-GITEA-OTP", value);
3701    };
3702    if let Some(ref apikey) = configuration.api_key {
3703        let key = apikey.key.clone();
3704        let value = match apikey.prefix {
3705            Some(ref prefix) => format!("{} {}", prefix, key),
3706            None => key,
3707        };
3708        req_builder = req_builder.header("Authorization", value);
3709    };
3710    if let Some(ref apikey) = configuration.api_key {
3711        let key = apikey.key.clone();
3712        let value = match apikey.prefix {
3713            Some(ref prefix) => format!("{} {}", prefix, key),
3714            None => key,
3715        };
3716        req_builder = req_builder.header("Sudo", value);
3717    };
3718    if let Some(ref auth_conf) = configuration.basic_auth {
3719        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3720    };
3721
3722    let req = req_builder.build()?;
3723    let resp = configuration.client.execute(req).await?;
3724
3725    let status = resp.status();
3726    let content_type = resp
3727        .headers()
3728        .get("content-type")
3729        .and_then(|v| v.to_str().ok())
3730        .unwrap_or("application/octet-stream");
3731    let content_type = super::ContentType::from(content_type);
3732
3733    if !status.is_client_error() && !status.is_server_error() {
3734        let content = resp.text().await?;
3735        match content_type {
3736            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3737            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`"))),
3738            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`")))),
3739        }
3740    } else {
3741        let content = resp.text().await?;
3742        let entity: Option<UserCurrentListReposError> = serde_json::from_str(&content).ok();
3743        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3744    }
3745}
3746
3747pub async fn user_current_list_starred(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Repository>, Error<UserCurrentListStarredError>> {
3748    // add a prefix to parameters to efficiently prevent name collisions
3749    let p_query_page = page;
3750    let p_query_limit = limit;
3751
3752    let uri_str = format!("{}/user/starred", configuration.base_path);
3753    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3754
3755    if let Some(ref param_value) = p_query_page {
3756        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
3757    }
3758    if let Some(ref param_value) = p_query_limit {
3759        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
3760    }
3761    if let Some(ref apikey) = configuration.api_key {
3762        let key = apikey.key.clone();
3763        let value = match apikey.prefix {
3764            Some(ref prefix) => format!("{} {}", prefix, key),
3765            None => key,
3766        };
3767        req_builder = req_builder.query(&[("access_token", value)]);
3768    }
3769    if let Some(ref apikey) = configuration.api_key {
3770        let key = apikey.key.clone();
3771        let value = match apikey.prefix {
3772            Some(ref prefix) => format!("{} {}", prefix, key),
3773            None => key,
3774        };
3775        req_builder = req_builder.query(&[("sudo", value)]);
3776    }
3777    if let Some(ref apikey) = configuration.api_key {
3778        let key = apikey.key.clone();
3779        let value = match apikey.prefix {
3780            Some(ref prefix) => format!("{} {}", prefix, key),
3781            None => key,
3782        };
3783        req_builder = req_builder.query(&[("token", value)]);
3784    }
3785    if let Some(ref user_agent) = configuration.user_agent {
3786        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3787    }
3788    if let Some(ref apikey) = configuration.api_key {
3789        let key = apikey.key.clone();
3790        let value = match apikey.prefix {
3791            Some(ref prefix) => format!("{} {}", prefix, key),
3792            None => key,
3793        };
3794        req_builder = req_builder.header("X-GITEA-OTP", value);
3795    };
3796    if let Some(ref apikey) = configuration.api_key {
3797        let key = apikey.key.clone();
3798        let value = match apikey.prefix {
3799            Some(ref prefix) => format!("{} {}", prefix, key),
3800            None => key,
3801        };
3802        req_builder = req_builder.header("Authorization", value);
3803    };
3804    if let Some(ref apikey) = configuration.api_key {
3805        let key = apikey.key.clone();
3806        let value = match apikey.prefix {
3807            Some(ref prefix) => format!("{} {}", prefix, key),
3808            None => key,
3809        };
3810        req_builder = req_builder.header("Sudo", value);
3811    };
3812    if let Some(ref auth_conf) = configuration.basic_auth {
3813        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3814    };
3815
3816    let req = req_builder.build()?;
3817    let resp = configuration.client.execute(req).await?;
3818
3819    let status = resp.status();
3820    let content_type = resp
3821        .headers()
3822        .get("content-type")
3823        .and_then(|v| v.to_str().ok())
3824        .unwrap_or("application/octet-stream");
3825    let content_type = super::ContentType::from(content_type);
3826
3827    if !status.is_client_error() && !status.is_server_error() {
3828        let content = resp.text().await?;
3829        match content_type {
3830            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3831            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`"))),
3832            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`")))),
3833        }
3834    } else {
3835        let content = resp.text().await?;
3836        let entity: Option<UserCurrentListStarredError> = serde_json::from_str(&content).ok();
3837        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3838    }
3839}
3840
3841pub async fn user_current_list_subscriptions(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Repository>, Error<UserCurrentListSubscriptionsError>> {
3842    // add a prefix to parameters to efficiently prevent name collisions
3843    let p_query_page = page;
3844    let p_query_limit = limit;
3845
3846    let uri_str = format!("{}/user/subscriptions", configuration.base_path);
3847    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
3848
3849    if let Some(ref param_value) = p_query_page {
3850        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
3851    }
3852    if let Some(ref param_value) = p_query_limit {
3853        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
3854    }
3855    if let Some(ref apikey) = configuration.api_key {
3856        let key = apikey.key.clone();
3857        let value = match apikey.prefix {
3858            Some(ref prefix) => format!("{} {}", prefix, key),
3859            None => key,
3860        };
3861        req_builder = req_builder.query(&[("access_token", value)]);
3862    }
3863    if let Some(ref apikey) = configuration.api_key {
3864        let key = apikey.key.clone();
3865        let value = match apikey.prefix {
3866            Some(ref prefix) => format!("{} {}", prefix, key),
3867            None => key,
3868        };
3869        req_builder = req_builder.query(&[("sudo", value)]);
3870    }
3871    if let Some(ref apikey) = configuration.api_key {
3872        let key = apikey.key.clone();
3873        let value = match apikey.prefix {
3874            Some(ref prefix) => format!("{} {}", prefix, key),
3875            None => key,
3876        };
3877        req_builder = req_builder.query(&[("token", value)]);
3878    }
3879    if let Some(ref user_agent) = configuration.user_agent {
3880        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3881    }
3882    if let Some(ref apikey) = configuration.api_key {
3883        let key = apikey.key.clone();
3884        let value = match apikey.prefix {
3885            Some(ref prefix) => format!("{} {}", prefix, key),
3886            None => key,
3887        };
3888        req_builder = req_builder.header("X-GITEA-OTP", value);
3889    };
3890    if let Some(ref apikey) = configuration.api_key {
3891        let key = apikey.key.clone();
3892        let value = match apikey.prefix {
3893            Some(ref prefix) => format!("{} {}", prefix, key),
3894            None => key,
3895        };
3896        req_builder = req_builder.header("Authorization", value);
3897    };
3898    if let Some(ref apikey) = configuration.api_key {
3899        let key = apikey.key.clone();
3900        let value = match apikey.prefix {
3901            Some(ref prefix) => format!("{} {}", prefix, key),
3902            None => key,
3903        };
3904        req_builder = req_builder.header("Sudo", value);
3905    };
3906    if let Some(ref auth_conf) = configuration.basic_auth {
3907        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3908    };
3909
3910    let req = req_builder.build()?;
3911    let resp = configuration.client.execute(req).await?;
3912
3913    let status = resp.status();
3914    let content_type = resp
3915        .headers()
3916        .get("content-type")
3917        .and_then(|v| v.to_str().ok())
3918        .unwrap_or("application/octet-stream");
3919    let content_type = super::ContentType::from(content_type);
3920
3921    if !status.is_client_error() && !status.is_server_error() {
3922        let content = resp.text().await?;
3923        match content_type {
3924            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
3925            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`"))),
3926            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`")))),
3927        }
3928    } else {
3929        let content = resp.text().await?;
3930        let entity: Option<UserCurrentListSubscriptionsError> = serde_json::from_str(&content).ok();
3931        Err(Error::ResponseError(ResponseContent { status, content, entity }))
3932    }
3933}
3934
3935pub async fn user_current_post_gpg_key(configuration: &configuration::Configuration, form: Option<models::CreateGpgKeyOption>) -> Result<models::GpgKey, Error<UserCurrentPostGpgKeyError>> {
3936    // add a prefix to parameters to efficiently prevent name collisions
3937    let p_body_form = form;
3938
3939    let uri_str = format!("{}/user/gpg_keys", configuration.base_path);
3940    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
3941
3942    if let Some(ref apikey) = configuration.api_key {
3943        let key = apikey.key.clone();
3944        let value = match apikey.prefix {
3945            Some(ref prefix) => format!("{} {}", prefix, key),
3946            None => key,
3947        };
3948        req_builder = req_builder.query(&[("access_token", value)]);
3949    }
3950    if let Some(ref apikey) = configuration.api_key {
3951        let key = apikey.key.clone();
3952        let value = match apikey.prefix {
3953            Some(ref prefix) => format!("{} {}", prefix, key),
3954            None => key,
3955        };
3956        req_builder = req_builder.query(&[("sudo", value)]);
3957    }
3958    if let Some(ref apikey) = configuration.api_key {
3959        let key = apikey.key.clone();
3960        let value = match apikey.prefix {
3961            Some(ref prefix) => format!("{} {}", prefix, key),
3962            None => key,
3963        };
3964        req_builder = req_builder.query(&[("token", value)]);
3965    }
3966    if let Some(ref user_agent) = configuration.user_agent {
3967        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
3968    }
3969    if let Some(ref apikey) = configuration.api_key {
3970        let key = apikey.key.clone();
3971        let value = match apikey.prefix {
3972            Some(ref prefix) => format!("{} {}", prefix, key),
3973            None => key,
3974        };
3975        req_builder = req_builder.header("X-GITEA-OTP", value);
3976    };
3977    if let Some(ref apikey) = configuration.api_key {
3978        let key = apikey.key.clone();
3979        let value = match apikey.prefix {
3980            Some(ref prefix) => format!("{} {}", prefix, key),
3981            None => key,
3982        };
3983        req_builder = req_builder.header("Authorization", value);
3984    };
3985    if let Some(ref apikey) = configuration.api_key {
3986        let key = apikey.key.clone();
3987        let value = match apikey.prefix {
3988            Some(ref prefix) => format!("{} {}", prefix, key),
3989            None => key,
3990        };
3991        req_builder = req_builder.header("Sudo", value);
3992    };
3993    if let Some(ref auth_conf) = configuration.basic_auth {
3994        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
3995    };
3996    req_builder = req_builder.json(&p_body_form);
3997
3998    let req = req_builder.build()?;
3999    let resp = configuration.client.execute(req).await?;
4000
4001    let status = resp.status();
4002    let content_type = resp
4003        .headers()
4004        .get("content-type")
4005        .and_then(|v| v.to_str().ok())
4006        .unwrap_or("application/octet-stream");
4007    let content_type = super::ContentType::from(content_type);
4008
4009    if !status.is_client_error() && !status.is_server_error() {
4010        let content = resp.text().await?;
4011        match content_type {
4012            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
4013            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GpgKey`"))),
4014            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GpgKey`")))),
4015        }
4016    } else {
4017        let content = resp.text().await?;
4018        let entity: Option<UserCurrentPostGpgKeyError> = serde_json::from_str(&content).ok();
4019        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4020    }
4021}
4022
4023pub async fn user_current_post_key(configuration: &configuration::Configuration, body: Option<models::CreateKeyOption>) -> Result<models::PublicKey, Error<UserCurrentPostKeyError>> {
4024    // add a prefix to parameters to efficiently prevent name collisions
4025    let p_body_body = body;
4026
4027    let uri_str = format!("{}/user/keys", configuration.base_path);
4028    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
4029
4030    if let Some(ref apikey) = configuration.api_key {
4031        let key = apikey.key.clone();
4032        let value = match apikey.prefix {
4033            Some(ref prefix) => format!("{} {}", prefix, key),
4034            None => key,
4035        };
4036        req_builder = req_builder.query(&[("access_token", value)]);
4037    }
4038    if let Some(ref apikey) = configuration.api_key {
4039        let key = apikey.key.clone();
4040        let value = match apikey.prefix {
4041            Some(ref prefix) => format!("{} {}", prefix, key),
4042            None => key,
4043        };
4044        req_builder = req_builder.query(&[("sudo", value)]);
4045    }
4046    if let Some(ref apikey) = configuration.api_key {
4047        let key = apikey.key.clone();
4048        let value = match apikey.prefix {
4049            Some(ref prefix) => format!("{} {}", prefix, key),
4050            None => key,
4051        };
4052        req_builder = req_builder.query(&[("token", value)]);
4053    }
4054    if let Some(ref user_agent) = configuration.user_agent {
4055        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4056    }
4057    if let Some(ref apikey) = configuration.api_key {
4058        let key = apikey.key.clone();
4059        let value = match apikey.prefix {
4060            Some(ref prefix) => format!("{} {}", prefix, key),
4061            None => key,
4062        };
4063        req_builder = req_builder.header("X-GITEA-OTP", value);
4064    };
4065    if let Some(ref apikey) = configuration.api_key {
4066        let key = apikey.key.clone();
4067        let value = match apikey.prefix {
4068            Some(ref prefix) => format!("{} {}", prefix, key),
4069            None => key,
4070        };
4071        req_builder = req_builder.header("Authorization", value);
4072    };
4073    if let Some(ref apikey) = configuration.api_key {
4074        let key = apikey.key.clone();
4075        let value = match apikey.prefix {
4076            Some(ref prefix) => format!("{} {}", prefix, key),
4077            None => key,
4078        };
4079        req_builder = req_builder.header("Sudo", value);
4080    };
4081    if let Some(ref auth_conf) = configuration.basic_auth {
4082        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4083    };
4084    req_builder = req_builder.json(&p_body_body);
4085
4086    let req = req_builder.build()?;
4087    let resp = configuration.client.execute(req).await?;
4088
4089    let status = resp.status();
4090    let content_type = resp
4091        .headers()
4092        .get("content-type")
4093        .and_then(|v| v.to_str().ok())
4094        .unwrap_or("application/octet-stream");
4095    let content_type = super::ContentType::from(content_type);
4096
4097    if !status.is_client_error() && !status.is_server_error() {
4098        let content = resp.text().await?;
4099        match content_type {
4100            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
4101            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PublicKey`"))),
4102            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::PublicKey`")))),
4103        }
4104    } else {
4105        let content = resp.text().await?;
4106        let entity: Option<UserCurrentPostKeyError> = serde_json::from_str(&content).ok();
4107        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4108    }
4109}
4110
4111pub async fn user_current_put_follow(configuration: &configuration::Configuration, username: &str) -> Result<(), Error<UserCurrentPutFollowError>> {
4112    // add a prefix to parameters to efficiently prevent name collisions
4113    let p_path_username = username;
4114
4115    let uri_str = format!("{}/user/following/{username}", configuration.base_path, username=crate::apis::urlencode(p_path_username));
4116    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
4117
4118    if let Some(ref apikey) = configuration.api_key {
4119        let key = apikey.key.clone();
4120        let value = match apikey.prefix {
4121            Some(ref prefix) => format!("{} {}", prefix, key),
4122            None => key,
4123        };
4124        req_builder = req_builder.query(&[("access_token", value)]);
4125    }
4126    if let Some(ref apikey) = configuration.api_key {
4127        let key = apikey.key.clone();
4128        let value = match apikey.prefix {
4129            Some(ref prefix) => format!("{} {}", prefix, key),
4130            None => key,
4131        };
4132        req_builder = req_builder.query(&[("sudo", value)]);
4133    }
4134    if let Some(ref apikey) = configuration.api_key {
4135        let key = apikey.key.clone();
4136        let value = match apikey.prefix {
4137            Some(ref prefix) => format!("{} {}", prefix, key),
4138            None => key,
4139        };
4140        req_builder = req_builder.query(&[("token", value)]);
4141    }
4142    if let Some(ref user_agent) = configuration.user_agent {
4143        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4144    }
4145    if let Some(ref apikey) = configuration.api_key {
4146        let key = apikey.key.clone();
4147        let value = match apikey.prefix {
4148            Some(ref prefix) => format!("{} {}", prefix, key),
4149            None => key,
4150        };
4151        req_builder = req_builder.header("X-GITEA-OTP", value);
4152    };
4153    if let Some(ref apikey) = configuration.api_key {
4154        let key = apikey.key.clone();
4155        let value = match apikey.prefix {
4156            Some(ref prefix) => format!("{} {}", prefix, key),
4157            None => key,
4158        };
4159        req_builder = req_builder.header("Authorization", value);
4160    };
4161    if let Some(ref apikey) = configuration.api_key {
4162        let key = apikey.key.clone();
4163        let value = match apikey.prefix {
4164            Some(ref prefix) => format!("{} {}", prefix, key),
4165            None => key,
4166        };
4167        req_builder = req_builder.header("Sudo", value);
4168    };
4169    if let Some(ref auth_conf) = configuration.basic_auth {
4170        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4171    };
4172
4173    let req = req_builder.build()?;
4174    let resp = configuration.client.execute(req).await?;
4175
4176    let status = resp.status();
4177
4178    if !status.is_client_error() && !status.is_server_error() {
4179        Ok(())
4180    } else {
4181        let content = resp.text().await?;
4182        let entity: Option<UserCurrentPutFollowError> = serde_json::from_str(&content).ok();
4183        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4184    }
4185}
4186
4187pub async fn user_current_put_star(configuration: &configuration::Configuration, owner: &str, repo: &str) -> Result<(), Error<UserCurrentPutStarError>> {
4188    // add a prefix to parameters to efficiently prevent name collisions
4189    let p_path_owner = owner;
4190    let p_path_repo = repo;
4191
4192    let uri_str = format!("{}/user/starred/{owner}/{repo}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), repo=crate::apis::urlencode(p_path_repo));
4193    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
4194
4195    if let Some(ref apikey) = configuration.api_key {
4196        let key = apikey.key.clone();
4197        let value = match apikey.prefix {
4198            Some(ref prefix) => format!("{} {}", prefix, key),
4199            None => key,
4200        };
4201        req_builder = req_builder.query(&[("access_token", value)]);
4202    }
4203    if let Some(ref apikey) = configuration.api_key {
4204        let key = apikey.key.clone();
4205        let value = match apikey.prefix {
4206            Some(ref prefix) => format!("{} {}", prefix, key),
4207            None => key,
4208        };
4209        req_builder = req_builder.query(&[("sudo", value)]);
4210    }
4211    if let Some(ref apikey) = configuration.api_key {
4212        let key = apikey.key.clone();
4213        let value = match apikey.prefix {
4214            Some(ref prefix) => format!("{} {}", prefix, key),
4215            None => key,
4216        };
4217        req_builder = req_builder.query(&[("token", value)]);
4218    }
4219    if let Some(ref user_agent) = configuration.user_agent {
4220        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4221    }
4222    if let Some(ref apikey) = configuration.api_key {
4223        let key = apikey.key.clone();
4224        let value = match apikey.prefix {
4225            Some(ref prefix) => format!("{} {}", prefix, key),
4226            None => key,
4227        };
4228        req_builder = req_builder.header("X-GITEA-OTP", value);
4229    };
4230    if let Some(ref apikey) = configuration.api_key {
4231        let key = apikey.key.clone();
4232        let value = match apikey.prefix {
4233            Some(ref prefix) => format!("{} {}", prefix, key),
4234            None => key,
4235        };
4236        req_builder = req_builder.header("Authorization", value);
4237    };
4238    if let Some(ref apikey) = configuration.api_key {
4239        let key = apikey.key.clone();
4240        let value = match apikey.prefix {
4241            Some(ref prefix) => format!("{} {}", prefix, key),
4242            None => key,
4243        };
4244        req_builder = req_builder.header("Sudo", value);
4245    };
4246    if let Some(ref auth_conf) = configuration.basic_auth {
4247        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4248    };
4249
4250    let req = req_builder.build()?;
4251    let resp = configuration.client.execute(req).await?;
4252
4253    let status = resp.status();
4254
4255    if !status.is_client_error() && !status.is_server_error() {
4256        Ok(())
4257    } else {
4258        let content = resp.text().await?;
4259        let entity: Option<UserCurrentPutStarError> = serde_json::from_str(&content).ok();
4260        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4261    }
4262}
4263
4264pub async fn user_current_tracked_times(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>, since: Option<String>, before: Option<String>) -> Result<Vec<models::TrackedTime>, Error<UserCurrentTrackedTimesError>> {
4265    // add a prefix to parameters to efficiently prevent name collisions
4266    let p_query_page = page;
4267    let p_query_limit = limit;
4268    let p_query_since = since;
4269    let p_query_before = before;
4270
4271    let uri_str = format!("{}/user/times", configuration.base_path);
4272    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
4273
4274    if let Some(ref param_value) = p_query_page {
4275        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
4276    }
4277    if let Some(ref param_value) = p_query_limit {
4278        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
4279    }
4280    if let Some(ref param_value) = p_query_since {
4281        req_builder = req_builder.query(&[("since", &param_value.to_string())]);
4282    }
4283    if let Some(ref param_value) = p_query_before {
4284        req_builder = req_builder.query(&[("before", &param_value.to_string())]);
4285    }
4286    if let Some(ref apikey) = configuration.api_key {
4287        let key = apikey.key.clone();
4288        let value = match apikey.prefix {
4289            Some(ref prefix) => format!("{} {}", prefix, key),
4290            None => key,
4291        };
4292        req_builder = req_builder.query(&[("access_token", value)]);
4293    }
4294    if let Some(ref apikey) = configuration.api_key {
4295        let key = apikey.key.clone();
4296        let value = match apikey.prefix {
4297            Some(ref prefix) => format!("{} {}", prefix, key),
4298            None => key,
4299        };
4300        req_builder = req_builder.query(&[("sudo", value)]);
4301    }
4302    if let Some(ref apikey) = configuration.api_key {
4303        let key = apikey.key.clone();
4304        let value = match apikey.prefix {
4305            Some(ref prefix) => format!("{} {}", prefix, key),
4306            None => key,
4307        };
4308        req_builder = req_builder.query(&[("token", value)]);
4309    }
4310    if let Some(ref user_agent) = configuration.user_agent {
4311        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4312    }
4313    if let Some(ref apikey) = configuration.api_key {
4314        let key = apikey.key.clone();
4315        let value = match apikey.prefix {
4316            Some(ref prefix) => format!("{} {}", prefix, key),
4317            None => key,
4318        };
4319        req_builder = req_builder.header("X-GITEA-OTP", value);
4320    };
4321    if let Some(ref apikey) = configuration.api_key {
4322        let key = apikey.key.clone();
4323        let value = match apikey.prefix {
4324            Some(ref prefix) => format!("{} {}", prefix, key),
4325            None => key,
4326        };
4327        req_builder = req_builder.header("Authorization", value);
4328    };
4329    if let Some(ref apikey) = configuration.api_key {
4330        let key = apikey.key.clone();
4331        let value = match apikey.prefix {
4332            Some(ref prefix) => format!("{} {}", prefix, key),
4333            None => key,
4334        };
4335        req_builder = req_builder.header("Sudo", value);
4336    };
4337    if let Some(ref auth_conf) = configuration.basic_auth {
4338        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4339    };
4340
4341    let req = req_builder.build()?;
4342    let resp = configuration.client.execute(req).await?;
4343
4344    let status = resp.status();
4345    let content_type = resp
4346        .headers()
4347        .get("content-type")
4348        .and_then(|v| v.to_str().ok())
4349        .unwrap_or("application/octet-stream");
4350    let content_type = super::ContentType::from(content_type);
4351
4352    if !status.is_client_error() && !status.is_server_error() {
4353        let content = resp.text().await?;
4354        match content_type {
4355            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
4356            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::TrackedTime&gt;`"))),
4357            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::TrackedTime&gt;`")))),
4358        }
4359    } else {
4360        let content = resp.text().await?;
4361        let entity: Option<UserCurrentTrackedTimesError> = serde_json::from_str(&content).ok();
4362        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4363    }
4364}
4365
4366pub async fn user_delete_access_token(configuration: &configuration::Configuration, username: &str, token: &str) -> Result<(), Error<UserDeleteAccessTokenError>> {
4367    // add a prefix to parameters to efficiently prevent name collisions
4368    let p_path_username = username;
4369    let p_path_token = token;
4370
4371    let uri_str = format!("{}/users/{username}/tokens/{token}", configuration.base_path, username=crate::apis::urlencode(p_path_username), token=crate::apis::urlencode(p_path_token));
4372    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
4373
4374    if let Some(ref apikey) = configuration.api_key {
4375        let key = apikey.key.clone();
4376        let value = match apikey.prefix {
4377            Some(ref prefix) => format!("{} {}", prefix, key),
4378            None => key,
4379        };
4380        req_builder = req_builder.query(&[("access_token", value)]);
4381    }
4382    if let Some(ref apikey) = configuration.api_key {
4383        let key = apikey.key.clone();
4384        let value = match apikey.prefix {
4385            Some(ref prefix) => format!("{} {}", prefix, key),
4386            None => key,
4387        };
4388        req_builder = req_builder.query(&[("sudo", value)]);
4389    }
4390    if let Some(ref apikey) = configuration.api_key {
4391        let key = apikey.key.clone();
4392        let value = match apikey.prefix {
4393            Some(ref prefix) => format!("{} {}", prefix, key),
4394            None => key,
4395        };
4396        req_builder = req_builder.query(&[("token", value)]);
4397    }
4398    if let Some(ref user_agent) = configuration.user_agent {
4399        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4400    }
4401    if let Some(ref apikey) = configuration.api_key {
4402        let key = apikey.key.clone();
4403        let value = match apikey.prefix {
4404            Some(ref prefix) => format!("{} {}", prefix, key),
4405            None => key,
4406        };
4407        req_builder = req_builder.header("X-GITEA-OTP", value);
4408    };
4409    if let Some(ref apikey) = configuration.api_key {
4410        let key = apikey.key.clone();
4411        let value = match apikey.prefix {
4412            Some(ref prefix) => format!("{} {}", prefix, key),
4413            None => key,
4414        };
4415        req_builder = req_builder.header("Authorization", value);
4416    };
4417    if let Some(ref apikey) = configuration.api_key {
4418        let key = apikey.key.clone();
4419        let value = match apikey.prefix {
4420            Some(ref prefix) => format!("{} {}", prefix, key),
4421            None => key,
4422        };
4423        req_builder = req_builder.header("Sudo", value);
4424    };
4425    if let Some(ref auth_conf) = configuration.basic_auth {
4426        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4427    };
4428
4429    let req = req_builder.build()?;
4430    let resp = configuration.client.execute(req).await?;
4431
4432    let status = resp.status();
4433
4434    if !status.is_client_error() && !status.is_server_error() {
4435        Ok(())
4436    } else {
4437        let content = resp.text().await?;
4438        let entity: Option<UserDeleteAccessTokenError> = serde_json::from_str(&content).ok();
4439        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4440    }
4441}
4442
4443pub async fn user_delete_avatar(configuration: &configuration::Configuration, ) -> Result<(), Error<UserDeleteAvatarError>> {
4444
4445    let uri_str = format!("{}/user/avatar", configuration.base_path);
4446    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
4447
4448    if let Some(ref apikey) = configuration.api_key {
4449        let key = apikey.key.clone();
4450        let value = match apikey.prefix {
4451            Some(ref prefix) => format!("{} {}", prefix, key),
4452            None => key,
4453        };
4454        req_builder = req_builder.query(&[("access_token", value)]);
4455    }
4456    if let Some(ref apikey) = configuration.api_key {
4457        let key = apikey.key.clone();
4458        let value = match apikey.prefix {
4459            Some(ref prefix) => format!("{} {}", prefix, key),
4460            None => key,
4461        };
4462        req_builder = req_builder.query(&[("sudo", value)]);
4463    }
4464    if let Some(ref apikey) = configuration.api_key {
4465        let key = apikey.key.clone();
4466        let value = match apikey.prefix {
4467            Some(ref prefix) => format!("{} {}", prefix, key),
4468            None => key,
4469        };
4470        req_builder = req_builder.query(&[("token", value)]);
4471    }
4472    if let Some(ref user_agent) = configuration.user_agent {
4473        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4474    }
4475    if let Some(ref apikey) = configuration.api_key {
4476        let key = apikey.key.clone();
4477        let value = match apikey.prefix {
4478            Some(ref prefix) => format!("{} {}", prefix, key),
4479            None => key,
4480        };
4481        req_builder = req_builder.header("X-GITEA-OTP", value);
4482    };
4483    if let Some(ref apikey) = configuration.api_key {
4484        let key = apikey.key.clone();
4485        let value = match apikey.prefix {
4486            Some(ref prefix) => format!("{} {}", prefix, key),
4487            None => key,
4488        };
4489        req_builder = req_builder.header("Authorization", value);
4490    };
4491    if let Some(ref apikey) = configuration.api_key {
4492        let key = apikey.key.clone();
4493        let value = match apikey.prefix {
4494            Some(ref prefix) => format!("{} {}", prefix, key),
4495            None => key,
4496        };
4497        req_builder = req_builder.header("Sudo", value);
4498    };
4499    if let Some(ref auth_conf) = configuration.basic_auth {
4500        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4501    };
4502
4503    let req = req_builder.build()?;
4504    let resp = configuration.client.execute(req).await?;
4505
4506    let status = resp.status();
4507
4508    if !status.is_client_error() && !status.is_server_error() {
4509        Ok(())
4510    } else {
4511        let content = resp.text().await?;
4512        let entity: Option<UserDeleteAvatarError> = serde_json::from_str(&content).ok();
4513        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4514    }
4515}
4516
4517pub async fn user_delete_email(configuration: &configuration::Configuration, body: Option<models::DeleteEmailOption>) -> Result<(), Error<UserDeleteEmailError>> {
4518    // add a prefix to parameters to efficiently prevent name collisions
4519    let p_body_body = body;
4520
4521    let uri_str = format!("{}/user/emails", configuration.base_path);
4522    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
4523
4524    if let Some(ref apikey) = configuration.api_key {
4525        let key = apikey.key.clone();
4526        let value = match apikey.prefix {
4527            Some(ref prefix) => format!("{} {}", prefix, key),
4528            None => key,
4529        };
4530        req_builder = req_builder.query(&[("access_token", value)]);
4531    }
4532    if let Some(ref apikey) = configuration.api_key {
4533        let key = apikey.key.clone();
4534        let value = match apikey.prefix {
4535            Some(ref prefix) => format!("{} {}", prefix, key),
4536            None => key,
4537        };
4538        req_builder = req_builder.query(&[("sudo", value)]);
4539    }
4540    if let Some(ref apikey) = configuration.api_key {
4541        let key = apikey.key.clone();
4542        let value = match apikey.prefix {
4543            Some(ref prefix) => format!("{} {}", prefix, key),
4544            None => key,
4545        };
4546        req_builder = req_builder.query(&[("token", value)]);
4547    }
4548    if let Some(ref user_agent) = configuration.user_agent {
4549        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4550    }
4551    if let Some(ref apikey) = configuration.api_key {
4552        let key = apikey.key.clone();
4553        let value = match apikey.prefix {
4554            Some(ref prefix) => format!("{} {}", prefix, key),
4555            None => key,
4556        };
4557        req_builder = req_builder.header("X-GITEA-OTP", value);
4558    };
4559    if let Some(ref apikey) = configuration.api_key {
4560        let key = apikey.key.clone();
4561        let value = match apikey.prefix {
4562            Some(ref prefix) => format!("{} {}", prefix, key),
4563            None => key,
4564        };
4565        req_builder = req_builder.header("Authorization", value);
4566    };
4567    if let Some(ref apikey) = configuration.api_key {
4568        let key = apikey.key.clone();
4569        let value = match apikey.prefix {
4570            Some(ref prefix) => format!("{} {}", prefix, key),
4571            None => key,
4572        };
4573        req_builder = req_builder.header("Sudo", value);
4574    };
4575    if let Some(ref auth_conf) = configuration.basic_auth {
4576        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4577    };
4578    req_builder = req_builder.json(&p_body_body);
4579
4580    let req = req_builder.build()?;
4581    let resp = configuration.client.execute(req).await?;
4582
4583    let status = resp.status();
4584
4585    if !status.is_client_error() && !status.is_server_error() {
4586        Ok(())
4587    } else {
4588        let content = resp.text().await?;
4589        let entity: Option<UserDeleteEmailError> = serde_json::from_str(&content).ok();
4590        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4591    }
4592}
4593
4594pub async fn user_delete_hook(configuration: &configuration::Configuration, id: i64) -> Result<(), Error<UserDeleteHookError>> {
4595    // add a prefix to parameters to efficiently prevent name collisions
4596    let p_path_id = id;
4597
4598    let uri_str = format!("{}/user/hooks/{id}", configuration.base_path, id=p_path_id);
4599    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
4600
4601    if let Some(ref apikey) = configuration.api_key {
4602        let key = apikey.key.clone();
4603        let value = match apikey.prefix {
4604            Some(ref prefix) => format!("{} {}", prefix, key),
4605            None => key,
4606        };
4607        req_builder = req_builder.query(&[("access_token", value)]);
4608    }
4609    if let Some(ref apikey) = configuration.api_key {
4610        let key = apikey.key.clone();
4611        let value = match apikey.prefix {
4612            Some(ref prefix) => format!("{} {}", prefix, key),
4613            None => key,
4614        };
4615        req_builder = req_builder.query(&[("sudo", value)]);
4616    }
4617    if let Some(ref apikey) = configuration.api_key {
4618        let key = apikey.key.clone();
4619        let value = match apikey.prefix {
4620            Some(ref prefix) => format!("{} {}", prefix, key),
4621            None => key,
4622        };
4623        req_builder = req_builder.query(&[("token", value)]);
4624    }
4625    if let Some(ref user_agent) = configuration.user_agent {
4626        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4627    }
4628    if let Some(ref apikey) = configuration.api_key {
4629        let key = apikey.key.clone();
4630        let value = match apikey.prefix {
4631            Some(ref prefix) => format!("{} {}", prefix, key),
4632            None => key,
4633        };
4634        req_builder = req_builder.header("X-GITEA-OTP", value);
4635    };
4636    if let Some(ref apikey) = configuration.api_key {
4637        let key = apikey.key.clone();
4638        let value = match apikey.prefix {
4639            Some(ref prefix) => format!("{} {}", prefix, key),
4640            None => key,
4641        };
4642        req_builder = req_builder.header("Authorization", value);
4643    };
4644    if let Some(ref apikey) = configuration.api_key {
4645        let key = apikey.key.clone();
4646        let value = match apikey.prefix {
4647            Some(ref prefix) => format!("{} {}", prefix, key),
4648            None => key,
4649        };
4650        req_builder = req_builder.header("Sudo", value);
4651    };
4652    if let Some(ref auth_conf) = configuration.basic_auth {
4653        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4654    };
4655
4656    let req = req_builder.build()?;
4657    let resp = configuration.client.execute(req).await?;
4658
4659    let status = resp.status();
4660
4661    if !status.is_client_error() && !status.is_server_error() {
4662        Ok(())
4663    } else {
4664        let content = resp.text().await?;
4665        let entity: Option<UserDeleteHookError> = serde_json::from_str(&content).ok();
4666        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4667    }
4668}
4669
4670pub async fn user_delete_o_auth2_application(configuration: &configuration::Configuration, id: i64) -> Result<(), Error<UserDeleteOAuth2ApplicationError>> {
4671    // add a prefix to parameters to efficiently prevent name collisions
4672    let p_path_id = id;
4673
4674    let uri_str = format!("{}/user/applications/oauth2/{id}", configuration.base_path, id=p_path_id);
4675    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
4676
4677    if let Some(ref apikey) = configuration.api_key {
4678        let key = apikey.key.clone();
4679        let value = match apikey.prefix {
4680            Some(ref prefix) => format!("{} {}", prefix, key),
4681            None => key,
4682        };
4683        req_builder = req_builder.query(&[("access_token", value)]);
4684    }
4685    if let Some(ref apikey) = configuration.api_key {
4686        let key = apikey.key.clone();
4687        let value = match apikey.prefix {
4688            Some(ref prefix) => format!("{} {}", prefix, key),
4689            None => key,
4690        };
4691        req_builder = req_builder.query(&[("sudo", value)]);
4692    }
4693    if let Some(ref apikey) = configuration.api_key {
4694        let key = apikey.key.clone();
4695        let value = match apikey.prefix {
4696            Some(ref prefix) => format!("{} {}", prefix, key),
4697            None => key,
4698        };
4699        req_builder = req_builder.query(&[("token", value)]);
4700    }
4701    if let Some(ref user_agent) = configuration.user_agent {
4702        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4703    }
4704    if let Some(ref apikey) = configuration.api_key {
4705        let key = apikey.key.clone();
4706        let value = match apikey.prefix {
4707            Some(ref prefix) => format!("{} {}", prefix, key),
4708            None => key,
4709        };
4710        req_builder = req_builder.header("X-GITEA-OTP", value);
4711    };
4712    if let Some(ref apikey) = configuration.api_key {
4713        let key = apikey.key.clone();
4714        let value = match apikey.prefix {
4715            Some(ref prefix) => format!("{} {}", prefix, key),
4716            None => key,
4717        };
4718        req_builder = req_builder.header("Authorization", value);
4719    };
4720    if let Some(ref apikey) = configuration.api_key {
4721        let key = apikey.key.clone();
4722        let value = match apikey.prefix {
4723            Some(ref prefix) => format!("{} {}", prefix, key),
4724            None => key,
4725        };
4726        req_builder = req_builder.header("Sudo", value);
4727    };
4728    if let Some(ref auth_conf) = configuration.basic_auth {
4729        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4730    };
4731
4732    let req = req_builder.build()?;
4733    let resp = configuration.client.execute(req).await?;
4734
4735    let status = resp.status();
4736
4737    if !status.is_client_error() && !status.is_server_error() {
4738        Ok(())
4739    } else {
4740        let content = resp.text().await?;
4741        let entity: Option<UserDeleteOAuth2ApplicationError> = serde_json::from_str(&content).ok();
4742        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4743    }
4744}
4745
4746pub async fn user_edit_hook(configuration: &configuration::Configuration, id: i64, body: Option<models::EditHookOption>) -> Result<models::Hook, Error<UserEditHookError>> {
4747    // add a prefix to parameters to efficiently prevent name collisions
4748    let p_path_id = id;
4749    let p_body_body = body;
4750
4751    let uri_str = format!("{}/user/hooks/{id}", configuration.base_path, id=p_path_id);
4752    let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str);
4753
4754    if let Some(ref apikey) = configuration.api_key {
4755        let key = apikey.key.clone();
4756        let value = match apikey.prefix {
4757            Some(ref prefix) => format!("{} {}", prefix, key),
4758            None => key,
4759        };
4760        req_builder = req_builder.query(&[("access_token", value)]);
4761    }
4762    if let Some(ref apikey) = configuration.api_key {
4763        let key = apikey.key.clone();
4764        let value = match apikey.prefix {
4765            Some(ref prefix) => format!("{} {}", prefix, key),
4766            None => key,
4767        };
4768        req_builder = req_builder.query(&[("sudo", value)]);
4769    }
4770    if let Some(ref apikey) = configuration.api_key {
4771        let key = apikey.key.clone();
4772        let value = match apikey.prefix {
4773            Some(ref prefix) => format!("{} {}", prefix, key),
4774            None => key,
4775        };
4776        req_builder = req_builder.query(&[("token", value)]);
4777    }
4778    if let Some(ref user_agent) = configuration.user_agent {
4779        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4780    }
4781    if let Some(ref apikey) = configuration.api_key {
4782        let key = apikey.key.clone();
4783        let value = match apikey.prefix {
4784            Some(ref prefix) => format!("{} {}", prefix, key),
4785            None => key,
4786        };
4787        req_builder = req_builder.header("X-GITEA-OTP", value);
4788    };
4789    if let Some(ref apikey) = configuration.api_key {
4790        let key = apikey.key.clone();
4791        let value = match apikey.prefix {
4792            Some(ref prefix) => format!("{} {}", prefix, key),
4793            None => key,
4794        };
4795        req_builder = req_builder.header("Authorization", value);
4796    };
4797    if let Some(ref apikey) = configuration.api_key {
4798        let key = apikey.key.clone();
4799        let value = match apikey.prefix {
4800            Some(ref prefix) => format!("{} {}", prefix, key),
4801            None => key,
4802        };
4803        req_builder = req_builder.header("Sudo", value);
4804    };
4805    if let Some(ref auth_conf) = configuration.basic_auth {
4806        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4807    };
4808    req_builder = req_builder.json(&p_body_body);
4809
4810    let req = req_builder.build()?;
4811    let resp = configuration.client.execute(req).await?;
4812
4813    let status = resp.status();
4814    let content_type = resp
4815        .headers()
4816        .get("content-type")
4817        .and_then(|v| v.to_str().ok())
4818        .unwrap_or("application/octet-stream");
4819    let content_type = super::ContentType::from(content_type);
4820
4821    if !status.is_client_error() && !status.is_server_error() {
4822        let content = resp.text().await?;
4823        match content_type {
4824            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
4825            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Hook`"))),
4826            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Hook`")))),
4827        }
4828    } else {
4829        let content = resp.text().await?;
4830        let entity: Option<UserEditHookError> = serde_json::from_str(&content).ok();
4831        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4832    }
4833}
4834
4835pub async fn user_get(configuration: &configuration::Configuration, username: &str) -> Result<models::User, Error<UserGetError>> {
4836    // add a prefix to parameters to efficiently prevent name collisions
4837    let p_path_username = username;
4838
4839    let uri_str = format!("{}/users/{username}", configuration.base_path, username=crate::apis::urlencode(p_path_username));
4840    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
4841
4842    if let Some(ref apikey) = configuration.api_key {
4843        let key = apikey.key.clone();
4844        let value = match apikey.prefix {
4845            Some(ref prefix) => format!("{} {}", prefix, key),
4846            None => key,
4847        };
4848        req_builder = req_builder.query(&[("access_token", value)]);
4849    }
4850    if let Some(ref apikey) = configuration.api_key {
4851        let key = apikey.key.clone();
4852        let value = match apikey.prefix {
4853            Some(ref prefix) => format!("{} {}", prefix, key),
4854            None => key,
4855        };
4856        req_builder = req_builder.query(&[("sudo", value)]);
4857    }
4858    if let Some(ref apikey) = configuration.api_key {
4859        let key = apikey.key.clone();
4860        let value = match apikey.prefix {
4861            Some(ref prefix) => format!("{} {}", prefix, key),
4862            None => key,
4863        };
4864        req_builder = req_builder.query(&[("token", value)]);
4865    }
4866    if let Some(ref user_agent) = configuration.user_agent {
4867        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4868    }
4869    if let Some(ref apikey) = configuration.api_key {
4870        let key = apikey.key.clone();
4871        let value = match apikey.prefix {
4872            Some(ref prefix) => format!("{} {}", prefix, key),
4873            None => key,
4874        };
4875        req_builder = req_builder.header("X-GITEA-OTP", value);
4876    };
4877    if let Some(ref apikey) = configuration.api_key {
4878        let key = apikey.key.clone();
4879        let value = match apikey.prefix {
4880            Some(ref prefix) => format!("{} {}", prefix, key),
4881            None => key,
4882        };
4883        req_builder = req_builder.header("Authorization", value);
4884    };
4885    if let Some(ref apikey) = configuration.api_key {
4886        let key = apikey.key.clone();
4887        let value = match apikey.prefix {
4888            Some(ref prefix) => format!("{} {}", prefix, key),
4889            None => key,
4890        };
4891        req_builder = req_builder.header("Sudo", value);
4892    };
4893    if let Some(ref auth_conf) = configuration.basic_auth {
4894        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4895    };
4896
4897    let req = req_builder.build()?;
4898    let resp = configuration.client.execute(req).await?;
4899
4900    let status = resp.status();
4901    let content_type = resp
4902        .headers()
4903        .get("content-type")
4904        .and_then(|v| v.to_str().ok())
4905        .unwrap_or("application/octet-stream");
4906    let content_type = super::ContentType::from(content_type);
4907
4908    if !status.is_client_error() && !status.is_server_error() {
4909        let content = resp.text().await?;
4910        match content_type {
4911            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
4912            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::User`"))),
4913            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::User`")))),
4914        }
4915    } else {
4916        let content = resp.text().await?;
4917        let entity: Option<UserGetError> = serde_json::from_str(&content).ok();
4918        Err(Error::ResponseError(ResponseContent { status, content, entity }))
4919    }
4920}
4921
4922pub async fn user_get_current(configuration: &configuration::Configuration, ) -> Result<models::User, Error<UserGetCurrentError>> {
4923
4924    let uri_str = format!("{}/user", configuration.base_path);
4925    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
4926
4927    if let Some(ref apikey) = configuration.api_key {
4928        let key = apikey.key.clone();
4929        let value = match apikey.prefix {
4930            Some(ref prefix) => format!("{} {}", prefix, key),
4931            None => key,
4932        };
4933        req_builder = req_builder.query(&[("access_token", value)]);
4934    }
4935    if let Some(ref apikey) = configuration.api_key {
4936        let key = apikey.key.clone();
4937        let value = match apikey.prefix {
4938            Some(ref prefix) => format!("{} {}", prefix, key),
4939            None => key,
4940        };
4941        req_builder = req_builder.query(&[("sudo", value)]);
4942    }
4943    if let Some(ref apikey) = configuration.api_key {
4944        let key = apikey.key.clone();
4945        let value = match apikey.prefix {
4946            Some(ref prefix) => format!("{} {}", prefix, key),
4947            None => key,
4948        };
4949        req_builder = req_builder.query(&[("token", value)]);
4950    }
4951    if let Some(ref user_agent) = configuration.user_agent {
4952        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
4953    }
4954    if let Some(ref apikey) = configuration.api_key {
4955        let key = apikey.key.clone();
4956        let value = match apikey.prefix {
4957            Some(ref prefix) => format!("{} {}", prefix, key),
4958            None => key,
4959        };
4960        req_builder = req_builder.header("X-GITEA-OTP", value);
4961    };
4962    if let Some(ref apikey) = configuration.api_key {
4963        let key = apikey.key.clone();
4964        let value = match apikey.prefix {
4965            Some(ref prefix) => format!("{} {}", prefix, key),
4966            None => key,
4967        };
4968        req_builder = req_builder.header("Authorization", value);
4969    };
4970    if let Some(ref apikey) = configuration.api_key {
4971        let key = apikey.key.clone();
4972        let value = match apikey.prefix {
4973            Some(ref prefix) => format!("{} {}", prefix, key),
4974            None => key,
4975        };
4976        req_builder = req_builder.header("Sudo", value);
4977    };
4978    if let Some(ref auth_conf) = configuration.basic_auth {
4979        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
4980    };
4981
4982    let req = req_builder.build()?;
4983    let resp = configuration.client.execute(req).await?;
4984
4985    let status = resp.status();
4986    let content_type = resp
4987        .headers()
4988        .get("content-type")
4989        .and_then(|v| v.to_str().ok())
4990        .unwrap_or("application/octet-stream");
4991    let content_type = super::ContentType::from(content_type);
4992
4993    if !status.is_client_error() && !status.is_server_error() {
4994        let content = resp.text().await?;
4995        match content_type {
4996            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
4997            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::User`"))),
4998            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::User`")))),
4999        }
5000    } else {
5001        let content = resp.text().await?;
5002        let entity: Option<UserGetCurrentError> = serde_json::from_str(&content).ok();
5003        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5004    }
5005}
5006
5007pub async fn user_get_heatmap_data(configuration: &configuration::Configuration, username: &str) -> Result<Vec<models::UserHeatmapData>, Error<UserGetHeatmapDataError>> {
5008    // add a prefix to parameters to efficiently prevent name collisions
5009    let p_path_username = username;
5010
5011    let uri_str = format!("{}/users/{username}/heatmap", configuration.base_path, username=crate::apis::urlencode(p_path_username));
5012    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5013
5014    if let Some(ref apikey) = configuration.api_key {
5015        let key = apikey.key.clone();
5016        let value = match apikey.prefix {
5017            Some(ref prefix) => format!("{} {}", prefix, key),
5018            None => key,
5019        };
5020        req_builder = req_builder.query(&[("access_token", value)]);
5021    }
5022    if let Some(ref apikey) = configuration.api_key {
5023        let key = apikey.key.clone();
5024        let value = match apikey.prefix {
5025            Some(ref prefix) => format!("{} {}", prefix, key),
5026            None => key,
5027        };
5028        req_builder = req_builder.query(&[("sudo", value)]);
5029    }
5030    if let Some(ref apikey) = configuration.api_key {
5031        let key = apikey.key.clone();
5032        let value = match apikey.prefix {
5033            Some(ref prefix) => format!("{} {}", prefix, key),
5034            None => key,
5035        };
5036        req_builder = req_builder.query(&[("token", value)]);
5037    }
5038    if let Some(ref user_agent) = configuration.user_agent {
5039        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5040    }
5041    if let Some(ref apikey) = configuration.api_key {
5042        let key = apikey.key.clone();
5043        let value = match apikey.prefix {
5044            Some(ref prefix) => format!("{} {}", prefix, key),
5045            None => key,
5046        };
5047        req_builder = req_builder.header("X-GITEA-OTP", value);
5048    };
5049    if let Some(ref apikey) = configuration.api_key {
5050        let key = apikey.key.clone();
5051        let value = match apikey.prefix {
5052            Some(ref prefix) => format!("{} {}", prefix, key),
5053            None => key,
5054        };
5055        req_builder = req_builder.header("Authorization", value);
5056    };
5057    if let Some(ref apikey) = configuration.api_key {
5058        let key = apikey.key.clone();
5059        let value = match apikey.prefix {
5060            Some(ref prefix) => format!("{} {}", prefix, key),
5061            None => key,
5062        };
5063        req_builder = req_builder.header("Sudo", value);
5064    };
5065    if let Some(ref auth_conf) = configuration.basic_auth {
5066        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5067    };
5068
5069    let req = req_builder.build()?;
5070    let resp = configuration.client.execute(req).await?;
5071
5072    let status = resp.status();
5073    let content_type = resp
5074        .headers()
5075        .get("content-type")
5076        .and_then(|v| v.to_str().ok())
5077        .unwrap_or("application/octet-stream");
5078    let content_type = super::ContentType::from(content_type);
5079
5080    if !status.is_client_error() && !status.is_server_error() {
5081        let content = resp.text().await?;
5082        match content_type {
5083            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5084            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::UserHeatmapData&gt;`"))),
5085            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::UserHeatmapData&gt;`")))),
5086        }
5087    } else {
5088        let content = resp.text().await?;
5089        let entity: Option<UserGetHeatmapDataError> = serde_json::from_str(&content).ok();
5090        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5091    }
5092}
5093
5094pub async fn user_get_hook(configuration: &configuration::Configuration, id: i64) -> Result<models::Hook, Error<UserGetHookError>> {
5095    // add a prefix to parameters to efficiently prevent name collisions
5096    let p_path_id = id;
5097
5098    let uri_str = format!("{}/user/hooks/{id}", configuration.base_path, id=p_path_id);
5099    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5100
5101    if let Some(ref apikey) = configuration.api_key {
5102        let key = apikey.key.clone();
5103        let value = match apikey.prefix {
5104            Some(ref prefix) => format!("{} {}", prefix, key),
5105            None => key,
5106        };
5107        req_builder = req_builder.query(&[("access_token", value)]);
5108    }
5109    if let Some(ref apikey) = configuration.api_key {
5110        let key = apikey.key.clone();
5111        let value = match apikey.prefix {
5112            Some(ref prefix) => format!("{} {}", prefix, key),
5113            None => key,
5114        };
5115        req_builder = req_builder.query(&[("sudo", value)]);
5116    }
5117    if let Some(ref apikey) = configuration.api_key {
5118        let key = apikey.key.clone();
5119        let value = match apikey.prefix {
5120            Some(ref prefix) => format!("{} {}", prefix, key),
5121            None => key,
5122        };
5123        req_builder = req_builder.query(&[("token", value)]);
5124    }
5125    if let Some(ref user_agent) = configuration.user_agent {
5126        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5127    }
5128    if let Some(ref apikey) = configuration.api_key {
5129        let key = apikey.key.clone();
5130        let value = match apikey.prefix {
5131            Some(ref prefix) => format!("{} {}", prefix, key),
5132            None => key,
5133        };
5134        req_builder = req_builder.header("X-GITEA-OTP", value);
5135    };
5136    if let Some(ref apikey) = configuration.api_key {
5137        let key = apikey.key.clone();
5138        let value = match apikey.prefix {
5139            Some(ref prefix) => format!("{} {}", prefix, key),
5140            None => key,
5141        };
5142        req_builder = req_builder.header("Authorization", value);
5143    };
5144    if let Some(ref apikey) = configuration.api_key {
5145        let key = apikey.key.clone();
5146        let value = match apikey.prefix {
5147            Some(ref prefix) => format!("{} {}", prefix, key),
5148            None => key,
5149        };
5150        req_builder = req_builder.header("Sudo", value);
5151    };
5152    if let Some(ref auth_conf) = configuration.basic_auth {
5153        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5154    };
5155
5156    let req = req_builder.build()?;
5157    let resp = configuration.client.execute(req).await?;
5158
5159    let status = resp.status();
5160    let content_type = resp
5161        .headers()
5162        .get("content-type")
5163        .and_then(|v| v.to_str().ok())
5164        .unwrap_or("application/octet-stream");
5165    let content_type = super::ContentType::from(content_type);
5166
5167    if !status.is_client_error() && !status.is_server_error() {
5168        let content = resp.text().await?;
5169        match content_type {
5170            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5171            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Hook`"))),
5172            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Hook`")))),
5173        }
5174    } else {
5175        let content = resp.text().await?;
5176        let entity: Option<UserGetHookError> = serde_json::from_str(&content).ok();
5177        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5178    }
5179}
5180
5181pub async fn user_get_o_auth2_application(configuration: &configuration::Configuration, id: i64) -> Result<models::OAuth2Application, Error<UserGetOAuth2ApplicationError>> {
5182    // add a prefix to parameters to efficiently prevent name collisions
5183    let p_path_id = id;
5184
5185    let uri_str = format!("{}/user/applications/oauth2/{id}", configuration.base_path, id=p_path_id);
5186    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5187
5188    if let Some(ref apikey) = configuration.api_key {
5189        let key = apikey.key.clone();
5190        let value = match apikey.prefix {
5191            Some(ref prefix) => format!("{} {}", prefix, key),
5192            None => key,
5193        };
5194        req_builder = req_builder.query(&[("access_token", value)]);
5195    }
5196    if let Some(ref apikey) = configuration.api_key {
5197        let key = apikey.key.clone();
5198        let value = match apikey.prefix {
5199            Some(ref prefix) => format!("{} {}", prefix, key),
5200            None => key,
5201        };
5202        req_builder = req_builder.query(&[("sudo", value)]);
5203    }
5204    if let Some(ref apikey) = configuration.api_key {
5205        let key = apikey.key.clone();
5206        let value = match apikey.prefix {
5207            Some(ref prefix) => format!("{} {}", prefix, key),
5208            None => key,
5209        };
5210        req_builder = req_builder.query(&[("token", value)]);
5211    }
5212    if let Some(ref user_agent) = configuration.user_agent {
5213        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5214    }
5215    if let Some(ref apikey) = configuration.api_key {
5216        let key = apikey.key.clone();
5217        let value = match apikey.prefix {
5218            Some(ref prefix) => format!("{} {}", prefix, key),
5219            None => key,
5220        };
5221        req_builder = req_builder.header("X-GITEA-OTP", value);
5222    };
5223    if let Some(ref apikey) = configuration.api_key {
5224        let key = apikey.key.clone();
5225        let value = match apikey.prefix {
5226            Some(ref prefix) => format!("{} {}", prefix, key),
5227            None => key,
5228        };
5229        req_builder = req_builder.header("Authorization", value);
5230    };
5231    if let Some(ref apikey) = configuration.api_key {
5232        let key = apikey.key.clone();
5233        let value = match apikey.prefix {
5234            Some(ref prefix) => format!("{} {}", prefix, key),
5235            None => key,
5236        };
5237        req_builder = req_builder.header("Sudo", value);
5238    };
5239    if let Some(ref auth_conf) = configuration.basic_auth {
5240        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5241    };
5242
5243    let req = req_builder.build()?;
5244    let resp = configuration.client.execute(req).await?;
5245
5246    let status = resp.status();
5247    let content_type = resp
5248        .headers()
5249        .get("content-type")
5250        .and_then(|v| v.to_str().ok())
5251        .unwrap_or("application/octet-stream");
5252    let content_type = super::ContentType::from(content_type);
5253
5254    if !status.is_client_error() && !status.is_server_error() {
5255        let content = resp.text().await?;
5256        match content_type {
5257            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5258            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::OAuth2Application`"))),
5259            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::OAuth2Application`")))),
5260        }
5261    } else {
5262        let content = resp.text().await?;
5263        let entity: Option<UserGetOAuth2ApplicationError> = serde_json::from_str(&content).ok();
5264        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5265    }
5266}
5267
5268pub async fn user_get_oauth2_application(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::OAuth2Application>, Error<UserGetOauth2ApplicationError>> {
5269    // add a prefix to parameters to efficiently prevent name collisions
5270    let p_query_page = page;
5271    let p_query_limit = limit;
5272
5273    let uri_str = format!("{}/user/applications/oauth2", configuration.base_path);
5274    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5275
5276    if let Some(ref param_value) = p_query_page {
5277        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
5278    }
5279    if let Some(ref param_value) = p_query_limit {
5280        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
5281    }
5282    if let Some(ref apikey) = configuration.api_key {
5283        let key = apikey.key.clone();
5284        let value = match apikey.prefix {
5285            Some(ref prefix) => format!("{} {}", prefix, key),
5286            None => key,
5287        };
5288        req_builder = req_builder.query(&[("access_token", value)]);
5289    }
5290    if let Some(ref apikey) = configuration.api_key {
5291        let key = apikey.key.clone();
5292        let value = match apikey.prefix {
5293            Some(ref prefix) => format!("{} {}", prefix, key),
5294            None => key,
5295        };
5296        req_builder = req_builder.query(&[("sudo", value)]);
5297    }
5298    if let Some(ref apikey) = configuration.api_key {
5299        let key = apikey.key.clone();
5300        let value = match apikey.prefix {
5301            Some(ref prefix) => format!("{} {}", prefix, key),
5302            None => key,
5303        };
5304        req_builder = req_builder.query(&[("token", value)]);
5305    }
5306    if let Some(ref user_agent) = configuration.user_agent {
5307        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5308    }
5309    if let Some(ref apikey) = configuration.api_key {
5310        let key = apikey.key.clone();
5311        let value = match apikey.prefix {
5312            Some(ref prefix) => format!("{} {}", prefix, key),
5313            None => key,
5314        };
5315        req_builder = req_builder.header("X-GITEA-OTP", value);
5316    };
5317    if let Some(ref apikey) = configuration.api_key {
5318        let key = apikey.key.clone();
5319        let value = match apikey.prefix {
5320            Some(ref prefix) => format!("{} {}", prefix, key),
5321            None => key,
5322        };
5323        req_builder = req_builder.header("Authorization", value);
5324    };
5325    if let Some(ref apikey) = configuration.api_key {
5326        let key = apikey.key.clone();
5327        let value = match apikey.prefix {
5328            Some(ref prefix) => format!("{} {}", prefix, key),
5329            None => key,
5330        };
5331        req_builder = req_builder.header("Sudo", value);
5332    };
5333    if let Some(ref auth_conf) = configuration.basic_auth {
5334        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5335    };
5336
5337    let req = req_builder.build()?;
5338    let resp = configuration.client.execute(req).await?;
5339
5340    let status = resp.status();
5341    let content_type = resp
5342        .headers()
5343        .get("content-type")
5344        .and_then(|v| v.to_str().ok())
5345        .unwrap_or("application/octet-stream");
5346    let content_type = super::ContentType::from(content_type);
5347
5348    if !status.is_client_error() && !status.is_server_error() {
5349        let content = resp.text().await?;
5350        match content_type {
5351            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5352            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::OAuth2Application&gt;`"))),
5353            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::OAuth2Application&gt;`")))),
5354        }
5355    } else {
5356        let content = resp.text().await?;
5357        let entity: Option<UserGetOauth2ApplicationError> = serde_json::from_str(&content).ok();
5358        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5359    }
5360}
5361
5362pub async fn user_get_runner_registration_token(configuration: &configuration::Configuration, ) -> Result<(), Error<UserGetRunnerRegistrationTokenError>> {
5363
5364    let uri_str = format!("{}/user/actions/runners/registration-token", configuration.base_path);
5365    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5366
5367    if let Some(ref apikey) = configuration.api_key {
5368        let key = apikey.key.clone();
5369        let value = match apikey.prefix {
5370            Some(ref prefix) => format!("{} {}", prefix, key),
5371            None => key,
5372        };
5373        req_builder = req_builder.query(&[("access_token", value)]);
5374    }
5375    if let Some(ref apikey) = configuration.api_key {
5376        let key = apikey.key.clone();
5377        let value = match apikey.prefix {
5378            Some(ref prefix) => format!("{} {}", prefix, key),
5379            None => key,
5380        };
5381        req_builder = req_builder.query(&[("sudo", value)]);
5382    }
5383    if let Some(ref apikey) = configuration.api_key {
5384        let key = apikey.key.clone();
5385        let value = match apikey.prefix {
5386            Some(ref prefix) => format!("{} {}", prefix, key),
5387            None => key,
5388        };
5389        req_builder = req_builder.query(&[("token", value)]);
5390    }
5391    if let Some(ref user_agent) = configuration.user_agent {
5392        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5393    }
5394    if let Some(ref apikey) = configuration.api_key {
5395        let key = apikey.key.clone();
5396        let value = match apikey.prefix {
5397            Some(ref prefix) => format!("{} {}", prefix, key),
5398            None => key,
5399        };
5400        req_builder = req_builder.header("X-GITEA-OTP", value);
5401    };
5402    if let Some(ref apikey) = configuration.api_key {
5403        let key = apikey.key.clone();
5404        let value = match apikey.prefix {
5405            Some(ref prefix) => format!("{} {}", prefix, key),
5406            None => key,
5407        };
5408        req_builder = req_builder.header("Authorization", value);
5409    };
5410    if let Some(ref apikey) = configuration.api_key {
5411        let key = apikey.key.clone();
5412        let value = match apikey.prefix {
5413            Some(ref prefix) => format!("{} {}", prefix, key),
5414            None => key,
5415        };
5416        req_builder = req_builder.header("Sudo", value);
5417    };
5418    if let Some(ref auth_conf) = configuration.basic_auth {
5419        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5420    };
5421
5422    let req = req_builder.build()?;
5423    let resp = configuration.client.execute(req).await?;
5424
5425    let status = resp.status();
5426
5427    if !status.is_client_error() && !status.is_server_error() {
5428        Ok(())
5429    } else {
5430        let content = resp.text().await?;
5431        let entity: Option<UserGetRunnerRegistrationTokenError> = serde_json::from_str(&content).ok();
5432        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5433    }
5434}
5435
5436pub async fn user_get_stop_watches(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::StopWatch>, Error<UserGetStopWatchesError>> {
5437    // add a prefix to parameters to efficiently prevent name collisions
5438    let p_query_page = page;
5439    let p_query_limit = limit;
5440
5441    let uri_str = format!("{}/user/stopwatches", configuration.base_path);
5442    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5443
5444    if let Some(ref param_value) = p_query_page {
5445        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
5446    }
5447    if let Some(ref param_value) = p_query_limit {
5448        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
5449    }
5450    if let Some(ref apikey) = configuration.api_key {
5451        let key = apikey.key.clone();
5452        let value = match apikey.prefix {
5453            Some(ref prefix) => format!("{} {}", prefix, key),
5454            None => key,
5455        };
5456        req_builder = req_builder.query(&[("access_token", value)]);
5457    }
5458    if let Some(ref apikey) = configuration.api_key {
5459        let key = apikey.key.clone();
5460        let value = match apikey.prefix {
5461            Some(ref prefix) => format!("{} {}", prefix, key),
5462            None => key,
5463        };
5464        req_builder = req_builder.query(&[("sudo", value)]);
5465    }
5466    if let Some(ref apikey) = configuration.api_key {
5467        let key = apikey.key.clone();
5468        let value = match apikey.prefix {
5469            Some(ref prefix) => format!("{} {}", prefix, key),
5470            None => key,
5471        };
5472        req_builder = req_builder.query(&[("token", value)]);
5473    }
5474    if let Some(ref user_agent) = configuration.user_agent {
5475        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5476    }
5477    if let Some(ref apikey) = configuration.api_key {
5478        let key = apikey.key.clone();
5479        let value = match apikey.prefix {
5480            Some(ref prefix) => format!("{} {}", prefix, key),
5481            None => key,
5482        };
5483        req_builder = req_builder.header("X-GITEA-OTP", value);
5484    };
5485    if let Some(ref apikey) = configuration.api_key {
5486        let key = apikey.key.clone();
5487        let value = match apikey.prefix {
5488            Some(ref prefix) => format!("{} {}", prefix, key),
5489            None => key,
5490        };
5491        req_builder = req_builder.header("Authorization", value);
5492    };
5493    if let Some(ref apikey) = configuration.api_key {
5494        let key = apikey.key.clone();
5495        let value = match apikey.prefix {
5496            Some(ref prefix) => format!("{} {}", prefix, key),
5497            None => key,
5498        };
5499        req_builder = req_builder.header("Sudo", value);
5500    };
5501    if let Some(ref auth_conf) = configuration.basic_auth {
5502        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5503    };
5504
5505    let req = req_builder.build()?;
5506    let resp = configuration.client.execute(req).await?;
5507
5508    let status = resp.status();
5509    let content_type = resp
5510        .headers()
5511        .get("content-type")
5512        .and_then(|v| v.to_str().ok())
5513        .unwrap_or("application/octet-stream");
5514    let content_type = super::ContentType::from(content_type);
5515
5516    if !status.is_client_error() && !status.is_server_error() {
5517        let content = resp.text().await?;
5518        match content_type {
5519            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5520            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::StopWatch&gt;`"))),
5521            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::StopWatch&gt;`")))),
5522        }
5523    } else {
5524        let content = resp.text().await?;
5525        let entity: Option<UserGetStopWatchesError> = serde_json::from_str(&content).ok();
5526        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5527    }
5528}
5529
5530pub async fn user_get_tokens(configuration: &configuration::Configuration, username: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::AccessToken>, Error<UserGetTokensError>> {
5531    // add a prefix to parameters to efficiently prevent name collisions
5532    let p_path_username = username;
5533    let p_query_page = page;
5534    let p_query_limit = limit;
5535
5536    let uri_str = format!("{}/users/{username}/tokens", configuration.base_path, username=crate::apis::urlencode(p_path_username));
5537    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5538
5539    if let Some(ref param_value) = p_query_page {
5540        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
5541    }
5542    if let Some(ref param_value) = p_query_limit {
5543        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
5544    }
5545    if let Some(ref apikey) = configuration.api_key {
5546        let key = apikey.key.clone();
5547        let value = match apikey.prefix {
5548            Some(ref prefix) => format!("{} {}", prefix, key),
5549            None => key,
5550        };
5551        req_builder = req_builder.query(&[("access_token", value)]);
5552    }
5553    if let Some(ref apikey) = configuration.api_key {
5554        let key = apikey.key.clone();
5555        let value = match apikey.prefix {
5556            Some(ref prefix) => format!("{} {}", prefix, key),
5557            None => key,
5558        };
5559        req_builder = req_builder.query(&[("sudo", value)]);
5560    }
5561    if let Some(ref apikey) = configuration.api_key {
5562        let key = apikey.key.clone();
5563        let value = match apikey.prefix {
5564            Some(ref prefix) => format!("{} {}", prefix, key),
5565            None => key,
5566        };
5567        req_builder = req_builder.query(&[("token", value)]);
5568    }
5569    if let Some(ref user_agent) = configuration.user_agent {
5570        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5571    }
5572    if let Some(ref apikey) = configuration.api_key {
5573        let key = apikey.key.clone();
5574        let value = match apikey.prefix {
5575            Some(ref prefix) => format!("{} {}", prefix, key),
5576            None => key,
5577        };
5578        req_builder = req_builder.header("X-GITEA-OTP", value);
5579    };
5580    if let Some(ref apikey) = configuration.api_key {
5581        let key = apikey.key.clone();
5582        let value = match apikey.prefix {
5583            Some(ref prefix) => format!("{} {}", prefix, key),
5584            None => key,
5585        };
5586        req_builder = req_builder.header("Authorization", value);
5587    };
5588    if let Some(ref apikey) = configuration.api_key {
5589        let key = apikey.key.clone();
5590        let value = match apikey.prefix {
5591            Some(ref prefix) => format!("{} {}", prefix, key),
5592            None => key,
5593        };
5594        req_builder = req_builder.header("Sudo", value);
5595    };
5596    if let Some(ref auth_conf) = configuration.basic_auth {
5597        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5598    };
5599
5600    let req = req_builder.build()?;
5601    let resp = configuration.client.execute(req).await?;
5602
5603    let status = resp.status();
5604    let content_type = resp
5605        .headers()
5606        .get("content-type")
5607        .and_then(|v| v.to_str().ok())
5608        .unwrap_or("application/octet-stream");
5609    let content_type = super::ContentType::from(content_type);
5610
5611    if !status.is_client_error() && !status.is_server_error() {
5612        let content = resp.text().await?;
5613        match content_type {
5614            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5615            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::AccessToken&gt;`"))),
5616            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::AccessToken&gt;`")))),
5617        }
5618    } else {
5619        let content = resp.text().await?;
5620        let entity: Option<UserGetTokensError> = serde_json::from_str(&content).ok();
5621        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5622    }
5623}
5624
5625pub async fn user_list_activity_feeds(configuration: &configuration::Configuration, username: &str, only_performed_by: Option<bool>, date: Option<String>, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Activity>, Error<UserListActivityFeedsError>> {
5626    // add a prefix to parameters to efficiently prevent name collisions
5627    let p_path_username = username;
5628    let p_query_only_performed_by = only_performed_by;
5629    let p_query_date = date;
5630    let p_query_page = page;
5631    let p_query_limit = limit;
5632
5633    let uri_str = format!("{}/users/{username}/activities/feeds", configuration.base_path, username=crate::apis::urlencode(p_path_username));
5634    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5635
5636    if let Some(ref param_value) = p_query_only_performed_by {
5637        req_builder = req_builder.query(&[("only-performed-by", &param_value.to_string())]);
5638    }
5639    if let Some(ref param_value) = p_query_date {
5640        req_builder = req_builder.query(&[("date", &param_value.to_string())]);
5641    }
5642    if let Some(ref param_value) = p_query_page {
5643        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
5644    }
5645    if let Some(ref param_value) = p_query_limit {
5646        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
5647    }
5648    if let Some(ref apikey) = configuration.api_key {
5649        let key = apikey.key.clone();
5650        let value = match apikey.prefix {
5651            Some(ref prefix) => format!("{} {}", prefix, key),
5652            None => key,
5653        };
5654        req_builder = req_builder.query(&[("access_token", value)]);
5655    }
5656    if let Some(ref apikey) = configuration.api_key {
5657        let key = apikey.key.clone();
5658        let value = match apikey.prefix {
5659            Some(ref prefix) => format!("{} {}", prefix, key),
5660            None => key,
5661        };
5662        req_builder = req_builder.query(&[("sudo", value)]);
5663    }
5664    if let Some(ref apikey) = configuration.api_key {
5665        let key = apikey.key.clone();
5666        let value = match apikey.prefix {
5667            Some(ref prefix) => format!("{} {}", prefix, key),
5668            None => key,
5669        };
5670        req_builder = req_builder.query(&[("token", value)]);
5671    }
5672    if let Some(ref user_agent) = configuration.user_agent {
5673        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5674    }
5675    if let Some(ref apikey) = configuration.api_key {
5676        let key = apikey.key.clone();
5677        let value = match apikey.prefix {
5678            Some(ref prefix) => format!("{} {}", prefix, key),
5679            None => key,
5680        };
5681        req_builder = req_builder.header("X-GITEA-OTP", value);
5682    };
5683    if let Some(ref apikey) = configuration.api_key {
5684        let key = apikey.key.clone();
5685        let value = match apikey.prefix {
5686            Some(ref prefix) => format!("{} {}", prefix, key),
5687            None => key,
5688        };
5689        req_builder = req_builder.header("Authorization", value);
5690    };
5691    if let Some(ref apikey) = configuration.api_key {
5692        let key = apikey.key.clone();
5693        let value = match apikey.prefix {
5694            Some(ref prefix) => format!("{} {}", prefix, key),
5695            None => key,
5696        };
5697        req_builder = req_builder.header("Sudo", value);
5698    };
5699    if let Some(ref auth_conf) = configuration.basic_auth {
5700        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5701    };
5702
5703    let req = req_builder.build()?;
5704    let resp = configuration.client.execute(req).await?;
5705
5706    let status = resp.status();
5707    let content_type = resp
5708        .headers()
5709        .get("content-type")
5710        .and_then(|v| v.to_str().ok())
5711        .unwrap_or("application/octet-stream");
5712    let content_type = super::ContentType::from(content_type);
5713
5714    if !status.is_client_error() && !status.is_server_error() {
5715        let content = resp.text().await?;
5716        match content_type {
5717            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5718            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Activity&gt;`"))),
5719            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Activity&gt;`")))),
5720        }
5721    } else {
5722        let content = resp.text().await?;
5723        let entity: Option<UserListActivityFeedsError> = serde_json::from_str(&content).ok();
5724        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5725    }
5726}
5727
5728pub async fn user_list_blocks(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::User>, Error<UserListBlocksError>> {
5729    // add a prefix to parameters to efficiently prevent name collisions
5730    let p_query_page = page;
5731    let p_query_limit = limit;
5732
5733    let uri_str = format!("{}/user/blocks", configuration.base_path);
5734    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5735
5736    if let Some(ref param_value) = p_query_page {
5737        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
5738    }
5739    if let Some(ref param_value) = p_query_limit {
5740        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
5741    }
5742    if let Some(ref apikey) = configuration.api_key {
5743        let key = apikey.key.clone();
5744        let value = match apikey.prefix {
5745            Some(ref prefix) => format!("{} {}", prefix, key),
5746            None => key,
5747        };
5748        req_builder = req_builder.query(&[("access_token", value)]);
5749    }
5750    if let Some(ref apikey) = configuration.api_key {
5751        let key = apikey.key.clone();
5752        let value = match apikey.prefix {
5753            Some(ref prefix) => format!("{} {}", prefix, key),
5754            None => key,
5755        };
5756        req_builder = req_builder.query(&[("sudo", value)]);
5757    }
5758    if let Some(ref apikey) = configuration.api_key {
5759        let key = apikey.key.clone();
5760        let value = match apikey.prefix {
5761            Some(ref prefix) => format!("{} {}", prefix, key),
5762            None => key,
5763        };
5764        req_builder = req_builder.query(&[("token", value)]);
5765    }
5766    if let Some(ref user_agent) = configuration.user_agent {
5767        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5768    }
5769    if let Some(ref apikey) = configuration.api_key {
5770        let key = apikey.key.clone();
5771        let value = match apikey.prefix {
5772            Some(ref prefix) => format!("{} {}", prefix, key),
5773            None => key,
5774        };
5775        req_builder = req_builder.header("X-GITEA-OTP", value);
5776    };
5777    if let Some(ref apikey) = configuration.api_key {
5778        let key = apikey.key.clone();
5779        let value = match apikey.prefix {
5780            Some(ref prefix) => format!("{} {}", prefix, key),
5781            None => key,
5782        };
5783        req_builder = req_builder.header("Authorization", value);
5784    };
5785    if let Some(ref apikey) = configuration.api_key {
5786        let key = apikey.key.clone();
5787        let value = match apikey.prefix {
5788            Some(ref prefix) => format!("{} {}", prefix, key),
5789            None => key,
5790        };
5791        req_builder = req_builder.header("Sudo", value);
5792    };
5793    if let Some(ref auth_conf) = configuration.basic_auth {
5794        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5795    };
5796
5797    let req = req_builder.build()?;
5798    let resp = configuration.client.execute(req).await?;
5799
5800    let status = resp.status();
5801    let content_type = resp
5802        .headers()
5803        .get("content-type")
5804        .and_then(|v| v.to_str().ok())
5805        .unwrap_or("application/octet-stream");
5806    let content_type = super::ContentType::from(content_type);
5807
5808    if !status.is_client_error() && !status.is_server_error() {
5809        let content = resp.text().await?;
5810        match content_type {
5811            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5812            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::User&gt;`"))),
5813            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::User&gt;`")))),
5814        }
5815    } else {
5816        let content = resp.text().await?;
5817        let entity: Option<UserListBlocksError> = serde_json::from_str(&content).ok();
5818        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5819    }
5820}
5821
5822pub async fn user_list_emails(configuration: &configuration::Configuration, ) -> Result<Vec<models::Email>, Error<UserListEmailsError>> {
5823
5824    let uri_str = format!("{}/user/emails", configuration.base_path);
5825    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5826
5827    if let Some(ref apikey) = configuration.api_key {
5828        let key = apikey.key.clone();
5829        let value = match apikey.prefix {
5830            Some(ref prefix) => format!("{} {}", prefix, key),
5831            None => key,
5832        };
5833        req_builder = req_builder.query(&[("access_token", value)]);
5834    }
5835    if let Some(ref apikey) = configuration.api_key {
5836        let key = apikey.key.clone();
5837        let value = match apikey.prefix {
5838            Some(ref prefix) => format!("{} {}", prefix, key),
5839            None => key,
5840        };
5841        req_builder = req_builder.query(&[("sudo", value)]);
5842    }
5843    if let Some(ref apikey) = configuration.api_key {
5844        let key = apikey.key.clone();
5845        let value = match apikey.prefix {
5846            Some(ref prefix) => format!("{} {}", prefix, key),
5847            None => key,
5848        };
5849        req_builder = req_builder.query(&[("token", value)]);
5850    }
5851    if let Some(ref user_agent) = configuration.user_agent {
5852        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5853    }
5854    if let Some(ref apikey) = configuration.api_key {
5855        let key = apikey.key.clone();
5856        let value = match apikey.prefix {
5857            Some(ref prefix) => format!("{} {}", prefix, key),
5858            None => key,
5859        };
5860        req_builder = req_builder.header("X-GITEA-OTP", value);
5861    };
5862    if let Some(ref apikey) = configuration.api_key {
5863        let key = apikey.key.clone();
5864        let value = match apikey.prefix {
5865            Some(ref prefix) => format!("{} {}", prefix, key),
5866            None => key,
5867        };
5868        req_builder = req_builder.header("Authorization", value);
5869    };
5870    if let Some(ref apikey) = configuration.api_key {
5871        let key = apikey.key.clone();
5872        let value = match apikey.prefix {
5873            Some(ref prefix) => format!("{} {}", prefix, key),
5874            None => key,
5875        };
5876        req_builder = req_builder.header("Sudo", value);
5877    };
5878    if let Some(ref auth_conf) = configuration.basic_auth {
5879        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5880    };
5881
5882    let req = req_builder.build()?;
5883    let resp = configuration.client.execute(req).await?;
5884
5885    let status = resp.status();
5886    let content_type = resp
5887        .headers()
5888        .get("content-type")
5889        .and_then(|v| v.to_str().ok())
5890        .unwrap_or("application/octet-stream");
5891    let content_type = super::ContentType::from(content_type);
5892
5893    if !status.is_client_error() && !status.is_server_error() {
5894        let content = resp.text().await?;
5895        match content_type {
5896            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5897            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Email&gt;`"))),
5898            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Email&gt;`")))),
5899        }
5900    } else {
5901        let content = resp.text().await?;
5902        let entity: Option<UserListEmailsError> = serde_json::from_str(&content).ok();
5903        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5904    }
5905}
5906
5907pub async fn user_list_followers(configuration: &configuration::Configuration, username: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::User>, Error<UserListFollowersError>> {
5908    // add a prefix to parameters to efficiently prevent name collisions
5909    let p_path_username = username;
5910    let p_query_page = page;
5911    let p_query_limit = limit;
5912
5913    let uri_str = format!("{}/users/{username}/followers", configuration.base_path, username=crate::apis::urlencode(p_path_username));
5914    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
5915
5916    if let Some(ref param_value) = p_query_page {
5917        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
5918    }
5919    if let Some(ref param_value) = p_query_limit {
5920        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
5921    }
5922    if let Some(ref apikey) = configuration.api_key {
5923        let key = apikey.key.clone();
5924        let value = match apikey.prefix {
5925            Some(ref prefix) => format!("{} {}", prefix, key),
5926            None => key,
5927        };
5928        req_builder = req_builder.query(&[("access_token", value)]);
5929    }
5930    if let Some(ref apikey) = configuration.api_key {
5931        let key = apikey.key.clone();
5932        let value = match apikey.prefix {
5933            Some(ref prefix) => format!("{} {}", prefix, key),
5934            None => key,
5935        };
5936        req_builder = req_builder.query(&[("sudo", value)]);
5937    }
5938    if let Some(ref apikey) = configuration.api_key {
5939        let key = apikey.key.clone();
5940        let value = match apikey.prefix {
5941            Some(ref prefix) => format!("{} {}", prefix, key),
5942            None => key,
5943        };
5944        req_builder = req_builder.query(&[("token", value)]);
5945    }
5946    if let Some(ref user_agent) = configuration.user_agent {
5947        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
5948    }
5949    if let Some(ref apikey) = configuration.api_key {
5950        let key = apikey.key.clone();
5951        let value = match apikey.prefix {
5952            Some(ref prefix) => format!("{} {}", prefix, key),
5953            None => key,
5954        };
5955        req_builder = req_builder.header("X-GITEA-OTP", value);
5956    };
5957    if let Some(ref apikey) = configuration.api_key {
5958        let key = apikey.key.clone();
5959        let value = match apikey.prefix {
5960            Some(ref prefix) => format!("{} {}", prefix, key),
5961            None => key,
5962        };
5963        req_builder = req_builder.header("Authorization", value);
5964    };
5965    if let Some(ref apikey) = configuration.api_key {
5966        let key = apikey.key.clone();
5967        let value = match apikey.prefix {
5968            Some(ref prefix) => format!("{} {}", prefix, key),
5969            None => key,
5970        };
5971        req_builder = req_builder.header("Sudo", value);
5972    };
5973    if let Some(ref auth_conf) = configuration.basic_auth {
5974        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
5975    };
5976
5977    let req = req_builder.build()?;
5978    let resp = configuration.client.execute(req).await?;
5979
5980    let status = resp.status();
5981    let content_type = resp
5982        .headers()
5983        .get("content-type")
5984        .and_then(|v| v.to_str().ok())
5985        .unwrap_or("application/octet-stream");
5986    let content_type = super::ContentType::from(content_type);
5987
5988    if !status.is_client_error() && !status.is_server_error() {
5989        let content = resp.text().await?;
5990        match content_type {
5991            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
5992            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::User&gt;`"))),
5993            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::User&gt;`")))),
5994        }
5995    } else {
5996        let content = resp.text().await?;
5997        let entity: Option<UserListFollowersError> = serde_json::from_str(&content).ok();
5998        Err(Error::ResponseError(ResponseContent { status, content, entity }))
5999    }
6000}
6001
6002pub async fn user_list_following(configuration: &configuration::Configuration, username: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::User>, Error<UserListFollowingError>> {
6003    // add a prefix to parameters to efficiently prevent name collisions
6004    let p_path_username = username;
6005    let p_query_page = page;
6006    let p_query_limit = limit;
6007
6008    let uri_str = format!("{}/users/{username}/following", configuration.base_path, username=crate::apis::urlencode(p_path_username));
6009    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6010
6011    if let Some(ref param_value) = p_query_page {
6012        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6013    }
6014    if let Some(ref param_value) = p_query_limit {
6015        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6016    }
6017    if let Some(ref apikey) = configuration.api_key {
6018        let key = apikey.key.clone();
6019        let value = match apikey.prefix {
6020            Some(ref prefix) => format!("{} {}", prefix, key),
6021            None => key,
6022        };
6023        req_builder = req_builder.query(&[("access_token", value)]);
6024    }
6025    if let Some(ref apikey) = configuration.api_key {
6026        let key = apikey.key.clone();
6027        let value = match apikey.prefix {
6028            Some(ref prefix) => format!("{} {}", prefix, key),
6029            None => key,
6030        };
6031        req_builder = req_builder.query(&[("sudo", value)]);
6032    }
6033    if let Some(ref apikey) = configuration.api_key {
6034        let key = apikey.key.clone();
6035        let value = match apikey.prefix {
6036            Some(ref prefix) => format!("{} {}", prefix, key),
6037            None => key,
6038        };
6039        req_builder = req_builder.query(&[("token", value)]);
6040    }
6041    if let Some(ref user_agent) = configuration.user_agent {
6042        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6043    }
6044    if let Some(ref apikey) = configuration.api_key {
6045        let key = apikey.key.clone();
6046        let value = match apikey.prefix {
6047            Some(ref prefix) => format!("{} {}", prefix, key),
6048            None => key,
6049        };
6050        req_builder = req_builder.header("X-GITEA-OTP", value);
6051    };
6052    if let Some(ref apikey) = configuration.api_key {
6053        let key = apikey.key.clone();
6054        let value = match apikey.prefix {
6055            Some(ref prefix) => format!("{} {}", prefix, key),
6056            None => key,
6057        };
6058        req_builder = req_builder.header("Authorization", value);
6059    };
6060    if let Some(ref apikey) = configuration.api_key {
6061        let key = apikey.key.clone();
6062        let value = match apikey.prefix {
6063            Some(ref prefix) => format!("{} {}", prefix, key),
6064            None => key,
6065        };
6066        req_builder = req_builder.header("Sudo", value);
6067    };
6068    if let Some(ref auth_conf) = configuration.basic_auth {
6069        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6070    };
6071
6072    let req = req_builder.build()?;
6073    let resp = configuration.client.execute(req).await?;
6074
6075    let status = resp.status();
6076    let content_type = resp
6077        .headers()
6078        .get("content-type")
6079        .and_then(|v| v.to_str().ok())
6080        .unwrap_or("application/octet-stream");
6081    let content_type = super::ContentType::from(content_type);
6082
6083    if !status.is_client_error() && !status.is_server_error() {
6084        let content = resp.text().await?;
6085        match content_type {
6086            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6087            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::User&gt;`"))),
6088            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::User&gt;`")))),
6089        }
6090    } else {
6091        let content = resp.text().await?;
6092        let entity: Option<UserListFollowingError> = serde_json::from_str(&content).ok();
6093        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6094    }
6095}
6096
6097pub async fn user_list_gpg_keys(configuration: &configuration::Configuration, username: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::GpgKey>, Error<UserListGpgKeysError>> {
6098    // add a prefix to parameters to efficiently prevent name collisions
6099    let p_path_username = username;
6100    let p_query_page = page;
6101    let p_query_limit = limit;
6102
6103    let uri_str = format!("{}/users/{username}/gpg_keys", configuration.base_path, username=crate::apis::urlencode(p_path_username));
6104    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6105
6106    if let Some(ref param_value) = p_query_page {
6107        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6108    }
6109    if let Some(ref param_value) = p_query_limit {
6110        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6111    }
6112    if let Some(ref apikey) = configuration.api_key {
6113        let key = apikey.key.clone();
6114        let value = match apikey.prefix {
6115            Some(ref prefix) => format!("{} {}", prefix, key),
6116            None => key,
6117        };
6118        req_builder = req_builder.query(&[("access_token", value)]);
6119    }
6120    if let Some(ref apikey) = configuration.api_key {
6121        let key = apikey.key.clone();
6122        let value = match apikey.prefix {
6123            Some(ref prefix) => format!("{} {}", prefix, key),
6124            None => key,
6125        };
6126        req_builder = req_builder.query(&[("sudo", value)]);
6127    }
6128    if let Some(ref apikey) = configuration.api_key {
6129        let key = apikey.key.clone();
6130        let value = match apikey.prefix {
6131            Some(ref prefix) => format!("{} {}", prefix, key),
6132            None => key,
6133        };
6134        req_builder = req_builder.query(&[("token", value)]);
6135    }
6136    if let Some(ref user_agent) = configuration.user_agent {
6137        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6138    }
6139    if let Some(ref apikey) = configuration.api_key {
6140        let key = apikey.key.clone();
6141        let value = match apikey.prefix {
6142            Some(ref prefix) => format!("{} {}", prefix, key),
6143            None => key,
6144        };
6145        req_builder = req_builder.header("X-GITEA-OTP", value);
6146    };
6147    if let Some(ref apikey) = configuration.api_key {
6148        let key = apikey.key.clone();
6149        let value = match apikey.prefix {
6150            Some(ref prefix) => format!("{} {}", prefix, key),
6151            None => key,
6152        };
6153        req_builder = req_builder.header("Authorization", value);
6154    };
6155    if let Some(ref apikey) = configuration.api_key {
6156        let key = apikey.key.clone();
6157        let value = match apikey.prefix {
6158            Some(ref prefix) => format!("{} {}", prefix, key),
6159            None => key,
6160        };
6161        req_builder = req_builder.header("Sudo", value);
6162    };
6163    if let Some(ref auth_conf) = configuration.basic_auth {
6164        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6165    };
6166
6167    let req = req_builder.build()?;
6168    let resp = configuration.client.execute(req).await?;
6169
6170    let status = resp.status();
6171    let content_type = resp
6172        .headers()
6173        .get("content-type")
6174        .and_then(|v| v.to_str().ok())
6175        .unwrap_or("application/octet-stream");
6176    let content_type = super::ContentType::from(content_type);
6177
6178    if !status.is_client_error() && !status.is_server_error() {
6179        let content = resp.text().await?;
6180        match content_type {
6181            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6182            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::GpgKey&gt;`"))),
6183            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::GpgKey&gt;`")))),
6184        }
6185    } else {
6186        let content = resp.text().await?;
6187        let entity: Option<UserListGpgKeysError> = serde_json::from_str(&content).ok();
6188        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6189    }
6190}
6191
6192pub async fn user_list_hooks(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Hook>, Error<UserListHooksError>> {
6193    // add a prefix to parameters to efficiently prevent name collisions
6194    let p_query_page = page;
6195    let p_query_limit = limit;
6196
6197    let uri_str = format!("{}/user/hooks", configuration.base_path);
6198    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6199
6200    if let Some(ref param_value) = p_query_page {
6201        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6202    }
6203    if let Some(ref param_value) = p_query_limit {
6204        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6205    }
6206    if let Some(ref apikey) = configuration.api_key {
6207        let key = apikey.key.clone();
6208        let value = match apikey.prefix {
6209            Some(ref prefix) => format!("{} {}", prefix, key),
6210            None => key,
6211        };
6212        req_builder = req_builder.query(&[("access_token", value)]);
6213    }
6214    if let Some(ref apikey) = configuration.api_key {
6215        let key = apikey.key.clone();
6216        let value = match apikey.prefix {
6217            Some(ref prefix) => format!("{} {}", prefix, key),
6218            None => key,
6219        };
6220        req_builder = req_builder.query(&[("sudo", value)]);
6221    }
6222    if let Some(ref apikey) = configuration.api_key {
6223        let key = apikey.key.clone();
6224        let value = match apikey.prefix {
6225            Some(ref prefix) => format!("{} {}", prefix, key),
6226            None => key,
6227        };
6228        req_builder = req_builder.query(&[("token", value)]);
6229    }
6230    if let Some(ref user_agent) = configuration.user_agent {
6231        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6232    }
6233    if let Some(ref apikey) = configuration.api_key {
6234        let key = apikey.key.clone();
6235        let value = match apikey.prefix {
6236            Some(ref prefix) => format!("{} {}", prefix, key),
6237            None => key,
6238        };
6239        req_builder = req_builder.header("X-GITEA-OTP", value);
6240    };
6241    if let Some(ref apikey) = configuration.api_key {
6242        let key = apikey.key.clone();
6243        let value = match apikey.prefix {
6244            Some(ref prefix) => format!("{} {}", prefix, key),
6245            None => key,
6246        };
6247        req_builder = req_builder.header("Authorization", value);
6248    };
6249    if let Some(ref apikey) = configuration.api_key {
6250        let key = apikey.key.clone();
6251        let value = match apikey.prefix {
6252            Some(ref prefix) => format!("{} {}", prefix, key),
6253            None => key,
6254        };
6255        req_builder = req_builder.header("Sudo", value);
6256    };
6257    if let Some(ref auth_conf) = configuration.basic_auth {
6258        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6259    };
6260
6261    let req = req_builder.build()?;
6262    let resp = configuration.client.execute(req).await?;
6263
6264    let status = resp.status();
6265    let content_type = resp
6266        .headers()
6267        .get("content-type")
6268        .and_then(|v| v.to_str().ok())
6269        .unwrap_or("application/octet-stream");
6270    let content_type = super::ContentType::from(content_type);
6271
6272    if !status.is_client_error() && !status.is_server_error() {
6273        let content = resp.text().await?;
6274        match content_type {
6275            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6276            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Hook&gt;`"))),
6277            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Hook&gt;`")))),
6278        }
6279    } else {
6280        let content = resp.text().await?;
6281        let entity: Option<UserListHooksError> = serde_json::from_str(&content).ok();
6282        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6283    }
6284}
6285
6286pub async fn user_list_keys(configuration: &configuration::Configuration, username: &str, fingerprint: Option<&str>, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::PublicKey>, Error<UserListKeysError>> {
6287    // add a prefix to parameters to efficiently prevent name collisions
6288    let p_path_username = username;
6289    let p_query_fingerprint = fingerprint;
6290    let p_query_page = page;
6291    let p_query_limit = limit;
6292
6293    let uri_str = format!("{}/users/{username}/keys", configuration.base_path, username=crate::apis::urlencode(p_path_username));
6294    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6295
6296    if let Some(ref param_value) = p_query_fingerprint {
6297        req_builder = req_builder.query(&[("fingerprint", &param_value.to_string())]);
6298    }
6299    if let Some(ref param_value) = p_query_page {
6300        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6301    }
6302    if let Some(ref param_value) = p_query_limit {
6303        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6304    }
6305    if let Some(ref apikey) = configuration.api_key {
6306        let key = apikey.key.clone();
6307        let value = match apikey.prefix {
6308            Some(ref prefix) => format!("{} {}", prefix, key),
6309            None => key,
6310        };
6311        req_builder = req_builder.query(&[("access_token", value)]);
6312    }
6313    if let Some(ref apikey) = configuration.api_key {
6314        let key = apikey.key.clone();
6315        let value = match apikey.prefix {
6316            Some(ref prefix) => format!("{} {}", prefix, key),
6317            None => key,
6318        };
6319        req_builder = req_builder.query(&[("sudo", value)]);
6320    }
6321    if let Some(ref apikey) = configuration.api_key {
6322        let key = apikey.key.clone();
6323        let value = match apikey.prefix {
6324            Some(ref prefix) => format!("{} {}", prefix, key),
6325            None => key,
6326        };
6327        req_builder = req_builder.query(&[("token", value)]);
6328    }
6329    if let Some(ref user_agent) = configuration.user_agent {
6330        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6331    }
6332    if let Some(ref apikey) = configuration.api_key {
6333        let key = apikey.key.clone();
6334        let value = match apikey.prefix {
6335            Some(ref prefix) => format!("{} {}", prefix, key),
6336            None => key,
6337        };
6338        req_builder = req_builder.header("X-GITEA-OTP", value);
6339    };
6340    if let Some(ref apikey) = configuration.api_key {
6341        let key = apikey.key.clone();
6342        let value = match apikey.prefix {
6343            Some(ref prefix) => format!("{} {}", prefix, key),
6344            None => key,
6345        };
6346        req_builder = req_builder.header("Authorization", value);
6347    };
6348    if let Some(ref apikey) = configuration.api_key {
6349        let key = apikey.key.clone();
6350        let value = match apikey.prefix {
6351            Some(ref prefix) => format!("{} {}", prefix, key),
6352            None => key,
6353        };
6354        req_builder = req_builder.header("Sudo", value);
6355    };
6356    if let Some(ref auth_conf) = configuration.basic_auth {
6357        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6358    };
6359
6360    let req = req_builder.build()?;
6361    let resp = configuration.client.execute(req).await?;
6362
6363    let status = resp.status();
6364    let content_type = resp
6365        .headers()
6366        .get("content-type")
6367        .and_then(|v| v.to_str().ok())
6368        .unwrap_or("application/octet-stream");
6369    let content_type = super::ContentType::from(content_type);
6370
6371    if !status.is_client_error() && !status.is_server_error() {
6372        let content = resp.text().await?;
6373        match content_type {
6374            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6375            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::PublicKey&gt;`"))),
6376            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::PublicKey&gt;`")))),
6377        }
6378    } else {
6379        let content = resp.text().await?;
6380        let entity: Option<UserListKeysError> = serde_json::from_str(&content).ok();
6381        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6382    }
6383}
6384
6385pub async fn user_list_repos(configuration: &configuration::Configuration, username: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Repository>, Error<UserListReposError>> {
6386    // add a prefix to parameters to efficiently prevent name collisions
6387    let p_path_username = username;
6388    let p_query_page = page;
6389    let p_query_limit = limit;
6390
6391    let uri_str = format!("{}/users/{username}/repos", configuration.base_path, username=crate::apis::urlencode(p_path_username));
6392    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6393
6394    if let Some(ref param_value) = p_query_page {
6395        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6396    }
6397    if let Some(ref param_value) = p_query_limit {
6398        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6399    }
6400    if let Some(ref apikey) = configuration.api_key {
6401        let key = apikey.key.clone();
6402        let value = match apikey.prefix {
6403            Some(ref prefix) => format!("{} {}", prefix, key),
6404            None => key,
6405        };
6406        req_builder = req_builder.query(&[("access_token", value)]);
6407    }
6408    if let Some(ref apikey) = configuration.api_key {
6409        let key = apikey.key.clone();
6410        let value = match apikey.prefix {
6411            Some(ref prefix) => format!("{} {}", prefix, key),
6412            None => key,
6413        };
6414        req_builder = req_builder.query(&[("sudo", value)]);
6415    }
6416    if let Some(ref apikey) = configuration.api_key {
6417        let key = apikey.key.clone();
6418        let value = match apikey.prefix {
6419            Some(ref prefix) => format!("{} {}", prefix, key),
6420            None => key,
6421        };
6422        req_builder = req_builder.query(&[("token", value)]);
6423    }
6424    if let Some(ref user_agent) = configuration.user_agent {
6425        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6426    }
6427    if let Some(ref apikey) = configuration.api_key {
6428        let key = apikey.key.clone();
6429        let value = match apikey.prefix {
6430            Some(ref prefix) => format!("{} {}", prefix, key),
6431            None => key,
6432        };
6433        req_builder = req_builder.header("X-GITEA-OTP", value);
6434    };
6435    if let Some(ref apikey) = configuration.api_key {
6436        let key = apikey.key.clone();
6437        let value = match apikey.prefix {
6438            Some(ref prefix) => format!("{} {}", prefix, key),
6439            None => key,
6440        };
6441        req_builder = req_builder.header("Authorization", value);
6442    };
6443    if let Some(ref apikey) = configuration.api_key {
6444        let key = apikey.key.clone();
6445        let value = match apikey.prefix {
6446            Some(ref prefix) => format!("{} {}", prefix, key),
6447            None => key,
6448        };
6449        req_builder = req_builder.header("Sudo", value);
6450    };
6451    if let Some(ref auth_conf) = configuration.basic_auth {
6452        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6453    };
6454
6455    let req = req_builder.build()?;
6456    let resp = configuration.client.execute(req).await?;
6457
6458    let status = resp.status();
6459    let content_type = resp
6460        .headers()
6461        .get("content-type")
6462        .and_then(|v| v.to_str().ok())
6463        .unwrap_or("application/octet-stream");
6464    let content_type = super::ContentType::from(content_type);
6465
6466    if !status.is_client_error() && !status.is_server_error() {
6467        let content = resp.text().await?;
6468        match content_type {
6469            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6470            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`"))),
6471            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`")))),
6472        }
6473    } else {
6474        let content = resp.text().await?;
6475        let entity: Option<UserListReposError> = serde_json::from_str(&content).ok();
6476        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6477    }
6478}
6479
6480pub async fn user_list_starred(configuration: &configuration::Configuration, username: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Repository>, Error<UserListStarredError>> {
6481    // add a prefix to parameters to efficiently prevent name collisions
6482    let p_path_username = username;
6483    let p_query_page = page;
6484    let p_query_limit = limit;
6485
6486    let uri_str = format!("{}/users/{username}/starred", configuration.base_path, username=crate::apis::urlencode(p_path_username));
6487    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6488
6489    if let Some(ref param_value) = p_query_page {
6490        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6491    }
6492    if let Some(ref param_value) = p_query_limit {
6493        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6494    }
6495    if let Some(ref apikey) = configuration.api_key {
6496        let key = apikey.key.clone();
6497        let value = match apikey.prefix {
6498            Some(ref prefix) => format!("{} {}", prefix, key),
6499            None => key,
6500        };
6501        req_builder = req_builder.query(&[("access_token", value)]);
6502    }
6503    if let Some(ref apikey) = configuration.api_key {
6504        let key = apikey.key.clone();
6505        let value = match apikey.prefix {
6506            Some(ref prefix) => format!("{} {}", prefix, key),
6507            None => key,
6508        };
6509        req_builder = req_builder.query(&[("sudo", value)]);
6510    }
6511    if let Some(ref apikey) = configuration.api_key {
6512        let key = apikey.key.clone();
6513        let value = match apikey.prefix {
6514            Some(ref prefix) => format!("{} {}", prefix, key),
6515            None => key,
6516        };
6517        req_builder = req_builder.query(&[("token", value)]);
6518    }
6519    if let Some(ref user_agent) = configuration.user_agent {
6520        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6521    }
6522    if let Some(ref apikey) = configuration.api_key {
6523        let key = apikey.key.clone();
6524        let value = match apikey.prefix {
6525            Some(ref prefix) => format!("{} {}", prefix, key),
6526            None => key,
6527        };
6528        req_builder = req_builder.header("X-GITEA-OTP", value);
6529    };
6530    if let Some(ref apikey) = configuration.api_key {
6531        let key = apikey.key.clone();
6532        let value = match apikey.prefix {
6533            Some(ref prefix) => format!("{} {}", prefix, key),
6534            None => key,
6535        };
6536        req_builder = req_builder.header("Authorization", value);
6537    };
6538    if let Some(ref apikey) = configuration.api_key {
6539        let key = apikey.key.clone();
6540        let value = match apikey.prefix {
6541            Some(ref prefix) => format!("{} {}", prefix, key),
6542            None => key,
6543        };
6544        req_builder = req_builder.header("Sudo", value);
6545    };
6546    if let Some(ref auth_conf) = configuration.basic_auth {
6547        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6548    };
6549
6550    let req = req_builder.build()?;
6551    let resp = configuration.client.execute(req).await?;
6552
6553    let status = resp.status();
6554    let content_type = resp
6555        .headers()
6556        .get("content-type")
6557        .and_then(|v| v.to_str().ok())
6558        .unwrap_or("application/octet-stream");
6559    let content_type = super::ContentType::from(content_type);
6560
6561    if !status.is_client_error() && !status.is_server_error() {
6562        let content = resp.text().await?;
6563        match content_type {
6564            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6565            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`"))),
6566            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`")))),
6567        }
6568    } else {
6569        let content = resp.text().await?;
6570        let entity: Option<UserListStarredError> = serde_json::from_str(&content).ok();
6571        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6572    }
6573}
6574
6575pub async fn user_list_subscriptions(configuration: &configuration::Configuration, username: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Repository>, Error<UserListSubscriptionsError>> {
6576    // add a prefix to parameters to efficiently prevent name collisions
6577    let p_path_username = username;
6578    let p_query_page = page;
6579    let p_query_limit = limit;
6580
6581    let uri_str = format!("{}/users/{username}/subscriptions", configuration.base_path, username=crate::apis::urlencode(p_path_username));
6582    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6583
6584    if let Some(ref param_value) = p_query_page {
6585        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6586    }
6587    if let Some(ref param_value) = p_query_limit {
6588        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6589    }
6590    if let Some(ref apikey) = configuration.api_key {
6591        let key = apikey.key.clone();
6592        let value = match apikey.prefix {
6593            Some(ref prefix) => format!("{} {}", prefix, key),
6594            None => key,
6595        };
6596        req_builder = req_builder.query(&[("access_token", value)]);
6597    }
6598    if let Some(ref apikey) = configuration.api_key {
6599        let key = apikey.key.clone();
6600        let value = match apikey.prefix {
6601            Some(ref prefix) => format!("{} {}", prefix, key),
6602            None => key,
6603        };
6604        req_builder = req_builder.query(&[("sudo", value)]);
6605    }
6606    if let Some(ref apikey) = configuration.api_key {
6607        let key = apikey.key.clone();
6608        let value = match apikey.prefix {
6609            Some(ref prefix) => format!("{} {}", prefix, key),
6610            None => key,
6611        };
6612        req_builder = req_builder.query(&[("token", value)]);
6613    }
6614    if let Some(ref user_agent) = configuration.user_agent {
6615        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6616    }
6617    if let Some(ref apikey) = configuration.api_key {
6618        let key = apikey.key.clone();
6619        let value = match apikey.prefix {
6620            Some(ref prefix) => format!("{} {}", prefix, key),
6621            None => key,
6622        };
6623        req_builder = req_builder.header("X-GITEA-OTP", value);
6624    };
6625    if let Some(ref apikey) = configuration.api_key {
6626        let key = apikey.key.clone();
6627        let value = match apikey.prefix {
6628            Some(ref prefix) => format!("{} {}", prefix, key),
6629            None => key,
6630        };
6631        req_builder = req_builder.header("Authorization", value);
6632    };
6633    if let Some(ref apikey) = configuration.api_key {
6634        let key = apikey.key.clone();
6635        let value = match apikey.prefix {
6636            Some(ref prefix) => format!("{} {}", prefix, key),
6637            None => key,
6638        };
6639        req_builder = req_builder.header("Sudo", value);
6640    };
6641    if let Some(ref auth_conf) = configuration.basic_auth {
6642        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6643    };
6644
6645    let req = req_builder.build()?;
6646    let resp = configuration.client.execute(req).await?;
6647
6648    let status = resp.status();
6649    let content_type = resp
6650        .headers()
6651        .get("content-type")
6652        .and_then(|v| v.to_str().ok())
6653        .unwrap_or("application/octet-stream");
6654    let content_type = super::ContentType::from(content_type);
6655
6656    if !status.is_client_error() && !status.is_server_error() {
6657        let content = resp.text().await?;
6658        match content_type {
6659            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6660            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`"))),
6661            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Repository&gt;`")))),
6662        }
6663    } else {
6664        let content = resp.text().await?;
6665        let entity: Option<UserListSubscriptionsError> = serde_json::from_str(&content).ok();
6666        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6667    }
6668}
6669
6670pub async fn user_list_teams(configuration: &configuration::Configuration, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Team>, Error<UserListTeamsError>> {
6671    // add a prefix to parameters to efficiently prevent name collisions
6672    let p_query_page = page;
6673    let p_query_limit = limit;
6674
6675    let uri_str = format!("{}/user/teams", configuration.base_path);
6676    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6677
6678    if let Some(ref param_value) = p_query_page {
6679        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6680    }
6681    if let Some(ref param_value) = p_query_limit {
6682        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6683    }
6684    if let Some(ref apikey) = configuration.api_key {
6685        let key = apikey.key.clone();
6686        let value = match apikey.prefix {
6687            Some(ref prefix) => format!("{} {}", prefix, key),
6688            None => key,
6689        };
6690        req_builder = req_builder.query(&[("access_token", value)]);
6691    }
6692    if let Some(ref apikey) = configuration.api_key {
6693        let key = apikey.key.clone();
6694        let value = match apikey.prefix {
6695            Some(ref prefix) => format!("{} {}", prefix, key),
6696            None => key,
6697        };
6698        req_builder = req_builder.query(&[("sudo", value)]);
6699    }
6700    if let Some(ref apikey) = configuration.api_key {
6701        let key = apikey.key.clone();
6702        let value = match apikey.prefix {
6703            Some(ref prefix) => format!("{} {}", prefix, key),
6704            None => key,
6705        };
6706        req_builder = req_builder.query(&[("token", value)]);
6707    }
6708    if let Some(ref user_agent) = configuration.user_agent {
6709        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6710    }
6711    if let Some(ref apikey) = configuration.api_key {
6712        let key = apikey.key.clone();
6713        let value = match apikey.prefix {
6714            Some(ref prefix) => format!("{} {}", prefix, key),
6715            None => key,
6716        };
6717        req_builder = req_builder.header("X-GITEA-OTP", value);
6718    };
6719    if let Some(ref apikey) = configuration.api_key {
6720        let key = apikey.key.clone();
6721        let value = match apikey.prefix {
6722            Some(ref prefix) => format!("{} {}", prefix, key),
6723            None => key,
6724        };
6725        req_builder = req_builder.header("Authorization", value);
6726    };
6727    if let Some(ref apikey) = configuration.api_key {
6728        let key = apikey.key.clone();
6729        let value = match apikey.prefix {
6730            Some(ref prefix) => format!("{} {}", prefix, key),
6731            None => key,
6732        };
6733        req_builder = req_builder.header("Sudo", value);
6734    };
6735    if let Some(ref auth_conf) = configuration.basic_auth {
6736        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6737    };
6738
6739    let req = req_builder.build()?;
6740    let resp = configuration.client.execute(req).await?;
6741
6742    let status = resp.status();
6743    let content_type = resp
6744        .headers()
6745        .get("content-type")
6746        .and_then(|v| v.to_str().ok())
6747        .unwrap_or("application/octet-stream");
6748    let content_type = super::ContentType::from(content_type);
6749
6750    if !status.is_client_error() && !status.is_server_error() {
6751        let content = resp.text().await?;
6752        match content_type {
6753            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6754            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec&lt;models::Team&gt;`"))),
6755            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec&lt;models::Team&gt;`")))),
6756        }
6757    } else {
6758        let content = resp.text().await?;
6759        let entity: Option<UserListTeamsError> = serde_json::from_str(&content).ok();
6760        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6761    }
6762}
6763
6764pub async fn user_search(configuration: &configuration::Configuration, q: Option<&str>, uid: Option<i64>, page: Option<i32>, limit: Option<i32>) -> Result<models::UserSearch200Response, Error<UserSearchError>> {
6765    // add a prefix to parameters to efficiently prevent name collisions
6766    let p_query_q = q;
6767    let p_query_uid = uid;
6768    let p_query_page = page;
6769    let p_query_limit = limit;
6770
6771    let uri_str = format!("{}/users/search", configuration.base_path);
6772    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
6773
6774    if let Some(ref param_value) = p_query_q {
6775        req_builder = req_builder.query(&[("q", &param_value.to_string())]);
6776    }
6777    if let Some(ref param_value) = p_query_uid {
6778        req_builder = req_builder.query(&[("uid", &param_value.to_string())]);
6779    }
6780    if let Some(ref param_value) = p_query_page {
6781        req_builder = req_builder.query(&[("page", &param_value.to_string())]);
6782    }
6783    if let Some(ref param_value) = p_query_limit {
6784        req_builder = req_builder.query(&[("limit", &param_value.to_string())]);
6785    }
6786    if let Some(ref apikey) = configuration.api_key {
6787        let key = apikey.key.clone();
6788        let value = match apikey.prefix {
6789            Some(ref prefix) => format!("{} {}", prefix, key),
6790            None => key,
6791        };
6792        req_builder = req_builder.query(&[("access_token", value)]);
6793    }
6794    if let Some(ref apikey) = configuration.api_key {
6795        let key = apikey.key.clone();
6796        let value = match apikey.prefix {
6797            Some(ref prefix) => format!("{} {}", prefix, key),
6798            None => key,
6799        };
6800        req_builder = req_builder.query(&[("sudo", value)]);
6801    }
6802    if let Some(ref apikey) = configuration.api_key {
6803        let key = apikey.key.clone();
6804        let value = match apikey.prefix {
6805            Some(ref prefix) => format!("{} {}", prefix, key),
6806            None => key,
6807        };
6808        req_builder = req_builder.query(&[("token", value)]);
6809    }
6810    if let Some(ref user_agent) = configuration.user_agent {
6811        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6812    }
6813    if let Some(ref apikey) = configuration.api_key {
6814        let key = apikey.key.clone();
6815        let value = match apikey.prefix {
6816            Some(ref prefix) => format!("{} {}", prefix, key),
6817            None => key,
6818        };
6819        req_builder = req_builder.header("X-GITEA-OTP", value);
6820    };
6821    if let Some(ref apikey) = configuration.api_key {
6822        let key = apikey.key.clone();
6823        let value = match apikey.prefix {
6824            Some(ref prefix) => format!("{} {}", prefix, key),
6825            None => key,
6826        };
6827        req_builder = req_builder.header("Authorization", value);
6828    };
6829    if let Some(ref apikey) = configuration.api_key {
6830        let key = apikey.key.clone();
6831        let value = match apikey.prefix {
6832            Some(ref prefix) => format!("{} {}", prefix, key),
6833            None => key,
6834        };
6835        req_builder = req_builder.header("Sudo", value);
6836    };
6837    if let Some(ref auth_conf) = configuration.basic_auth {
6838        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6839    };
6840
6841    let req = req_builder.build()?;
6842    let resp = configuration.client.execute(req).await?;
6843
6844    let status = resp.status();
6845    let content_type = resp
6846        .headers()
6847        .get("content-type")
6848        .and_then(|v| v.to_str().ok())
6849        .unwrap_or("application/octet-stream");
6850    let content_type = super::ContentType::from(content_type);
6851
6852    if !status.is_client_error() && !status.is_server_error() {
6853        let content = resp.text().await?;
6854        match content_type {
6855            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
6856            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::UserSearch200Response`"))),
6857            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::UserSearch200Response`")))),
6858        }
6859    } else {
6860        let content = resp.text().await?;
6861        let entity: Option<UserSearchError> = serde_json::from_str(&content).ok();
6862        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6863    }
6864}
6865
6866pub async fn user_unblock_user(configuration: &configuration::Configuration, username: &str) -> Result<(), Error<UserUnblockUserError>> {
6867    // add a prefix to parameters to efficiently prevent name collisions
6868    let p_path_username = username;
6869
6870    let uri_str = format!("{}/user/blocks/{username}", configuration.base_path, username=crate::apis::urlencode(p_path_username));
6871    let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
6872
6873    if let Some(ref apikey) = configuration.api_key {
6874        let key = apikey.key.clone();
6875        let value = match apikey.prefix {
6876            Some(ref prefix) => format!("{} {}", prefix, key),
6877            None => key,
6878        };
6879        req_builder = req_builder.query(&[("access_token", value)]);
6880    }
6881    if let Some(ref apikey) = configuration.api_key {
6882        let key = apikey.key.clone();
6883        let value = match apikey.prefix {
6884            Some(ref prefix) => format!("{} {}", prefix, key),
6885            None => key,
6886        };
6887        req_builder = req_builder.query(&[("sudo", value)]);
6888    }
6889    if let Some(ref apikey) = configuration.api_key {
6890        let key = apikey.key.clone();
6891        let value = match apikey.prefix {
6892            Some(ref prefix) => format!("{} {}", prefix, key),
6893            None => key,
6894        };
6895        req_builder = req_builder.query(&[("token", value)]);
6896    }
6897    if let Some(ref user_agent) = configuration.user_agent {
6898        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6899    }
6900    if let Some(ref apikey) = configuration.api_key {
6901        let key = apikey.key.clone();
6902        let value = match apikey.prefix {
6903            Some(ref prefix) => format!("{} {}", prefix, key),
6904            None => key,
6905        };
6906        req_builder = req_builder.header("X-GITEA-OTP", value);
6907    };
6908    if let Some(ref apikey) = configuration.api_key {
6909        let key = apikey.key.clone();
6910        let value = match apikey.prefix {
6911            Some(ref prefix) => format!("{} {}", prefix, key),
6912            None => key,
6913        };
6914        req_builder = req_builder.header("Authorization", value);
6915    };
6916    if let Some(ref apikey) = configuration.api_key {
6917        let key = apikey.key.clone();
6918        let value = match apikey.prefix {
6919            Some(ref prefix) => format!("{} {}", prefix, key),
6920            None => key,
6921        };
6922        req_builder = req_builder.header("Sudo", value);
6923    };
6924    if let Some(ref auth_conf) = configuration.basic_auth {
6925        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
6926    };
6927
6928    let req = req_builder.build()?;
6929    let resp = configuration.client.execute(req).await?;
6930
6931    let status = resp.status();
6932
6933    if !status.is_client_error() && !status.is_server_error() {
6934        Ok(())
6935    } else {
6936        let content = resp.text().await?;
6937        let entity: Option<UserUnblockUserError> = serde_json::from_str(&content).ok();
6938        Err(Error::ResponseError(ResponseContent { status, content, entity }))
6939    }
6940}
6941
6942pub async fn user_update_avatar(configuration: &configuration::Configuration, body: Option<models::UpdateUserAvatarOption>) -> Result<(), Error<UserUpdateAvatarError>> {
6943    // add a prefix to parameters to efficiently prevent name collisions
6944    let p_body_body = body;
6945
6946    let uri_str = format!("{}/user/avatar", configuration.base_path);
6947    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
6948
6949    if let Some(ref apikey) = configuration.api_key {
6950        let key = apikey.key.clone();
6951        let value = match apikey.prefix {
6952            Some(ref prefix) => format!("{} {}", prefix, key),
6953            None => key,
6954        };
6955        req_builder = req_builder.query(&[("access_token", value)]);
6956    }
6957    if let Some(ref apikey) = configuration.api_key {
6958        let key = apikey.key.clone();
6959        let value = match apikey.prefix {
6960            Some(ref prefix) => format!("{} {}", prefix, key),
6961            None => key,
6962        };
6963        req_builder = req_builder.query(&[("sudo", value)]);
6964    }
6965    if let Some(ref apikey) = configuration.api_key {
6966        let key = apikey.key.clone();
6967        let value = match apikey.prefix {
6968            Some(ref prefix) => format!("{} {}", prefix, key),
6969            None => key,
6970        };
6971        req_builder = req_builder.query(&[("token", value)]);
6972    }
6973    if let Some(ref user_agent) = configuration.user_agent {
6974        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
6975    }
6976    if let Some(ref apikey) = configuration.api_key {
6977        let key = apikey.key.clone();
6978        let value = match apikey.prefix {
6979            Some(ref prefix) => format!("{} {}", prefix, key),
6980            None => key,
6981        };
6982        req_builder = req_builder.header("X-GITEA-OTP", value);
6983    };
6984    if let Some(ref apikey) = configuration.api_key {
6985        let key = apikey.key.clone();
6986        let value = match apikey.prefix {
6987            Some(ref prefix) => format!("{} {}", prefix, key),
6988            None => key,
6989        };
6990        req_builder = req_builder.header("Authorization", value);
6991    };
6992    if let Some(ref apikey) = configuration.api_key {
6993        let key = apikey.key.clone();
6994        let value = match apikey.prefix {
6995            Some(ref prefix) => format!("{} {}", prefix, key),
6996            None => key,
6997        };
6998        req_builder = req_builder.header("Sudo", value);
6999    };
7000    if let Some(ref auth_conf) = configuration.basic_auth {
7001        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
7002    };
7003    req_builder = req_builder.json(&p_body_body);
7004
7005    let req = req_builder.build()?;
7006    let resp = configuration.client.execute(req).await?;
7007
7008    let status = resp.status();
7009
7010    if !status.is_client_error() && !status.is_server_error() {
7011        Ok(())
7012    } else {
7013        let content = resp.text().await?;
7014        let entity: Option<UserUpdateAvatarError> = serde_json::from_str(&content).ok();
7015        Err(Error::ResponseError(ResponseContent { status, content, entity }))
7016    }
7017}
7018
7019pub async fn user_update_o_auth2_application(configuration: &configuration::Configuration, id: i64, body: models::CreateOAuth2ApplicationOptions) -> Result<models::OAuth2Application, Error<UserUpdateOAuth2ApplicationError>> {
7020    // add a prefix to parameters to efficiently prevent name collisions
7021    let p_path_id = id;
7022    let p_body_body = body;
7023
7024    let uri_str = format!("{}/user/applications/oauth2/{id}", configuration.base_path, id=p_path_id);
7025    let mut req_builder = configuration.client.request(reqwest::Method::PATCH, &uri_str);
7026
7027    if let Some(ref apikey) = configuration.api_key {
7028        let key = apikey.key.clone();
7029        let value = match apikey.prefix {
7030            Some(ref prefix) => format!("{} {}", prefix, key),
7031            None => key,
7032        };
7033        req_builder = req_builder.query(&[("access_token", value)]);
7034    }
7035    if let Some(ref apikey) = configuration.api_key {
7036        let key = apikey.key.clone();
7037        let value = match apikey.prefix {
7038            Some(ref prefix) => format!("{} {}", prefix, key),
7039            None => key,
7040        };
7041        req_builder = req_builder.query(&[("sudo", value)]);
7042    }
7043    if let Some(ref apikey) = configuration.api_key {
7044        let key = apikey.key.clone();
7045        let value = match apikey.prefix {
7046            Some(ref prefix) => format!("{} {}", prefix, key),
7047            None => key,
7048        };
7049        req_builder = req_builder.query(&[("token", value)]);
7050    }
7051    if let Some(ref user_agent) = configuration.user_agent {
7052        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
7053    }
7054    if let Some(ref apikey) = configuration.api_key {
7055        let key = apikey.key.clone();
7056        let value = match apikey.prefix {
7057            Some(ref prefix) => format!("{} {}", prefix, key),
7058            None => key,
7059        };
7060        req_builder = req_builder.header("X-GITEA-OTP", value);
7061    };
7062    if let Some(ref apikey) = configuration.api_key {
7063        let key = apikey.key.clone();
7064        let value = match apikey.prefix {
7065            Some(ref prefix) => format!("{} {}", prefix, key),
7066            None => key,
7067        };
7068        req_builder = req_builder.header("Authorization", value);
7069    };
7070    if let Some(ref apikey) = configuration.api_key {
7071        let key = apikey.key.clone();
7072        let value = match apikey.prefix {
7073            Some(ref prefix) => format!("{} {}", prefix, key),
7074            None => key,
7075        };
7076        req_builder = req_builder.header("Sudo", value);
7077    };
7078    if let Some(ref auth_conf) = configuration.basic_auth {
7079        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
7080    };
7081    req_builder = req_builder.json(&p_body_body);
7082
7083    let req = req_builder.build()?;
7084    let resp = configuration.client.execute(req).await?;
7085
7086    let status = resp.status();
7087    let content_type = resp
7088        .headers()
7089        .get("content-type")
7090        .and_then(|v| v.to_str().ok())
7091        .unwrap_or("application/octet-stream");
7092    let content_type = super::ContentType::from(content_type);
7093
7094    if !status.is_client_error() && !status.is_server_error() {
7095        let content = resp.text().await?;
7096        match content_type {
7097            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
7098            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::OAuth2Application`"))),
7099            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::OAuth2Application`")))),
7100        }
7101    } else {
7102        let content = resp.text().await?;
7103        let entity: Option<UserUpdateOAuth2ApplicationError> = serde_json::from_str(&content).ok();
7104        Err(Error::ResponseError(ResponseContent { status, content, entity }))
7105    }
7106}
7107
7108pub async fn user_verify_gpg_key(configuration: &configuration::Configuration, ) -> Result<models::GpgKey, Error<UserVerifyGpgKeyError>> {
7109
7110    let uri_str = format!("{}/user/gpg_key_verify", configuration.base_path);
7111    let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
7112
7113    if let Some(ref apikey) = configuration.api_key {
7114        let key = apikey.key.clone();
7115        let value = match apikey.prefix {
7116            Some(ref prefix) => format!("{} {}", prefix, key),
7117            None => key,
7118        };
7119        req_builder = req_builder.query(&[("access_token", value)]);
7120    }
7121    if let Some(ref apikey) = configuration.api_key {
7122        let key = apikey.key.clone();
7123        let value = match apikey.prefix {
7124            Some(ref prefix) => format!("{} {}", prefix, key),
7125            None => key,
7126        };
7127        req_builder = req_builder.query(&[("sudo", value)]);
7128    }
7129    if let Some(ref apikey) = configuration.api_key {
7130        let key = apikey.key.clone();
7131        let value = match apikey.prefix {
7132            Some(ref prefix) => format!("{} {}", prefix, key),
7133            None => key,
7134        };
7135        req_builder = req_builder.query(&[("token", value)]);
7136    }
7137    if let Some(ref user_agent) = configuration.user_agent {
7138        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
7139    }
7140    if let Some(ref apikey) = configuration.api_key {
7141        let key = apikey.key.clone();
7142        let value = match apikey.prefix {
7143            Some(ref prefix) => format!("{} {}", prefix, key),
7144            None => key,
7145        };
7146        req_builder = req_builder.header("X-GITEA-OTP", value);
7147    };
7148    if let Some(ref apikey) = configuration.api_key {
7149        let key = apikey.key.clone();
7150        let value = match apikey.prefix {
7151            Some(ref prefix) => format!("{} {}", prefix, key),
7152            None => key,
7153        };
7154        req_builder = req_builder.header("Authorization", value);
7155    };
7156    if let Some(ref apikey) = configuration.api_key {
7157        let key = apikey.key.clone();
7158        let value = match apikey.prefix {
7159            Some(ref prefix) => format!("{} {}", prefix, key),
7160            None => key,
7161        };
7162        req_builder = req_builder.header("Sudo", value);
7163    };
7164    if let Some(ref auth_conf) = configuration.basic_auth {
7165        req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
7166    };
7167
7168    let req = req_builder.build()?;
7169    let resp = configuration.client.execute(req).await?;
7170
7171    let status = resp.status();
7172    let content_type = resp
7173        .headers()
7174        .get("content-type")
7175        .and_then(|v| v.to_str().ok())
7176        .unwrap_or("application/octet-stream");
7177    let content_type = super::ContentType::from(content_type);
7178
7179    if !status.is_client_error() && !status.is_server_error() {
7180        let content = resp.text().await?;
7181        match content_type {
7182            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
7183            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::GpgKey`"))),
7184            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::GpgKey`")))),
7185        }
7186    } else {
7187        let content = resp.text().await?;
7188        let entity: Option<UserVerifyGpgKeyError> = serde_json::from_str(&content).ok();
7189        Err(Error::ResponseError(ResponseContent { status, content, entity }))
7190    }
7191}
7192