1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum ActivitypubPersonError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum ActivitypubPersonInboxError {
29 UnknownValue(serde_json::Value),
30}
31
32
33pub async fn activitypub_person(configuration: &configuration::Configuration, username: &str) -> Result<crate::models::ActivityPub, Error<ActivitypubPersonError>> {
34 let local_var_configuration = configuration;
35
36 let local_var_client = &local_var_configuration.client;
37
38 let local_var_uri_str = format!("{}/activitypub/user/{username}", local_var_configuration.base_path, username=crate::apis::urlencode(username));
39 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
40
41 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
42 let local_var_key = local_var_apikey.key.clone();
43 let local_var_value = match local_var_apikey.prefix {
44 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
45 None => local_var_key,
46 };
47 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
48 }
49 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
50 let local_var_key = local_var_apikey.key.clone();
51 let local_var_value = match local_var_apikey.prefix {
52 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
53 None => local_var_key,
54 };
55 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
56 }
57 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
58 let local_var_key = local_var_apikey.key.clone();
59 let local_var_value = match local_var_apikey.prefix {
60 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
61 None => local_var_key,
62 };
63 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
64 }
65 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
66 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
67 }
68 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
69 let local_var_key = local_var_apikey.key.clone();
70 let local_var_value = match local_var_apikey.prefix {
71 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
72 None => local_var_key,
73 };
74 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
75 };
76 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
77 let local_var_key = local_var_apikey.key.clone();
78 let local_var_value = match local_var_apikey.prefix {
79 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
80 None => local_var_key,
81 };
82 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
83 };
84 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
85 let local_var_key = local_var_apikey.key.clone();
86 let local_var_value = match local_var_apikey.prefix {
87 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
88 None => local_var_key,
89 };
90 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
91 };
92 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
93 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
94 };
95
96 let local_var_req = local_var_req_builder.build()?;
97 let local_var_resp = local_var_client.execute(local_var_req).await?;
98
99 let local_var_status = local_var_resp.status();
100 let local_var_content = local_var_resp.text().await?;
101
102 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
103 serde_json::from_str(&local_var_content).map_err(Error::from)
104 } else {
105 let local_var_entity: Option<ActivitypubPersonError> = serde_json::from_str(&local_var_content).ok();
106 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
107 Err(Error::ResponseError(local_var_error))
108 }
109}
110
111pub async fn activitypub_person_inbox(configuration: &configuration::Configuration, username: &str) -> Result<(), Error<ActivitypubPersonInboxError>> {
112 let local_var_configuration = configuration;
113
114 let local_var_client = &local_var_configuration.client;
115
116 let local_var_uri_str = format!("{}/activitypub/user/{username}/inbox", local_var_configuration.base_path, username=crate::apis::urlencode(username));
117 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
118
119 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
120 let local_var_key = local_var_apikey.key.clone();
121 let local_var_value = match local_var_apikey.prefix {
122 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
123 None => local_var_key,
124 };
125 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
126 }
127 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
128 let local_var_key = local_var_apikey.key.clone();
129 let local_var_value = match local_var_apikey.prefix {
130 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
131 None => local_var_key,
132 };
133 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
134 }
135 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
136 let local_var_key = local_var_apikey.key.clone();
137 let local_var_value = match local_var_apikey.prefix {
138 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
139 None => local_var_key,
140 };
141 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
142 }
143 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
144 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
145 }
146 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
147 let local_var_key = local_var_apikey.key.clone();
148 let local_var_value = match local_var_apikey.prefix {
149 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
150 None => local_var_key,
151 };
152 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
153 };
154 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
155 let local_var_key = local_var_apikey.key.clone();
156 let local_var_value = match local_var_apikey.prefix {
157 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
158 None => local_var_key,
159 };
160 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
161 };
162 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
163 let local_var_key = local_var_apikey.key.clone();
164 let local_var_value = match local_var_apikey.prefix {
165 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
166 None => local_var_key,
167 };
168 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
169 };
170 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
171 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
172 };
173
174 let local_var_req = local_var_req_builder.build()?;
175 let local_var_resp = local_var_client.execute(local_var_req).await?;
176
177 let local_var_status = local_var_resp.status();
178 let local_var_content = local_var_resp.text().await?;
179
180 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
181 Ok(())
182 } else {
183 let local_var_entity: Option<ActivitypubPersonInboxError> = serde_json::from_str(&local_var_content).ok();
184 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
185 Err(Error::ResponseError(local_var_error))
186 }
187}
188