1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum NotifyGetListError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum NotifyGetRepoListError {
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum NotifyGetThreadError {
36 Status403(),
37 Status404(),
38 UnknownValue(serde_json::Value),
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
43#[serde(untagged)]
44pub enum NotifyNewAvailableError {
45 UnknownValue(serde_json::Value),
46}
47
48#[derive(Debug, Clone, Serialize, Deserialize)]
50#[serde(untagged)]
51pub enum NotifyReadListError {
52 UnknownValue(serde_json::Value),
53}
54
55#[derive(Debug, Clone, Serialize, Deserialize)]
57#[serde(untagged)]
58pub enum NotifyReadRepoListError {
59 UnknownValue(serde_json::Value),
60}
61
62#[derive(Debug, Clone, Serialize, Deserialize)]
64#[serde(untagged)]
65pub enum NotifyReadThreadError {
66 Status403(),
67 Status404(),
68 UnknownValue(serde_json::Value),
69}
70
71
72pub async fn notify_get_list(configuration: &configuration::Configuration, all: Option<bool>, status_types: Option<Vec<String>>, subject_type: Option<Vec<String>>, since: Option<String>, before: Option<String>, page: Option<i32>, limit: Option<i32>) -> Result<Vec<crate::models::NotificationThread>, Error<NotifyGetListError>> {
73 let local_var_configuration = configuration;
74
75 let local_var_client = &local_var_configuration.client;
76
77 let local_var_uri_str = format!("{}/notifications", local_var_configuration.base_path);
78 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
79
80 if let Some(ref local_var_str) = all {
81 local_var_req_builder = local_var_req_builder.query(&[("all", &local_var_str.to_string())]);
82 }
83 if let Some(ref local_var_str) = status_types {
84 local_var_req_builder = match "multi" {
85 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("status-types".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
86 _ => local_var_req_builder.query(&[("status-types", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
87 };
88 }
89 if let Some(ref local_var_str) = subject_type {
90 local_var_req_builder = match "multi" {
91 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("subject-type".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
92 _ => local_var_req_builder.query(&[("subject-type", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
93 };
94 }
95 if let Some(ref local_var_str) = since {
96 local_var_req_builder = local_var_req_builder.query(&[("since", &local_var_str.to_string())]);
97 }
98 if let Some(ref local_var_str) = before {
99 local_var_req_builder = local_var_req_builder.query(&[("before", &local_var_str.to_string())]);
100 }
101 if let Some(ref local_var_str) = page {
102 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
103 }
104 if let Some(ref local_var_str) = limit {
105 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
106 }
107 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
108 let local_var_key = local_var_apikey.key.clone();
109 let local_var_value = match local_var_apikey.prefix {
110 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
111 None => local_var_key,
112 };
113 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
114 }
115 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
116 let local_var_key = local_var_apikey.key.clone();
117 let local_var_value = match local_var_apikey.prefix {
118 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
119 None => local_var_key,
120 };
121 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
122 }
123 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
124 let local_var_key = local_var_apikey.key.clone();
125 let local_var_value = match local_var_apikey.prefix {
126 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
127 None => local_var_key,
128 };
129 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
130 }
131 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
132 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
133 }
134 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
135 let local_var_key = local_var_apikey.key.clone();
136 let local_var_value = match local_var_apikey.prefix {
137 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
138 None => local_var_key,
139 };
140 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
141 };
142 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
143 let local_var_key = local_var_apikey.key.clone();
144 let local_var_value = match local_var_apikey.prefix {
145 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
146 None => local_var_key,
147 };
148 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
149 };
150 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
151 let local_var_key = local_var_apikey.key.clone();
152 let local_var_value = match local_var_apikey.prefix {
153 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
154 None => local_var_key,
155 };
156 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
157 };
158 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
159 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
160 };
161
162 let local_var_req = local_var_req_builder.build()?;
163 let local_var_resp = local_var_client.execute(local_var_req).await?;
164
165 let local_var_status = local_var_resp.status();
166 let local_var_content = local_var_resp.text().await?;
167
168 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
169 serde_json::from_str(&local_var_content).map_err(Error::from)
170 } else {
171 let local_var_entity: Option<NotifyGetListError> = serde_json::from_str(&local_var_content).ok();
172 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
173 Err(Error::ResponseError(local_var_error))
174 }
175}
176
177pub async fn notify_get_repo_list(configuration: &configuration::Configuration, owner: &str, repo: &str, all: Option<bool>, status_types: Option<Vec<String>>, subject_type: Option<Vec<String>>, since: Option<String>, before: Option<String>, page: Option<i32>, limit: Option<i32>) -> Result<Vec<crate::models::NotificationThread>, Error<NotifyGetRepoListError>> {
178 let local_var_configuration = configuration;
179
180 let local_var_client = &local_var_configuration.client;
181
182 let local_var_uri_str = format!("{}/repos/{owner}/{repo}/notifications", local_var_configuration.base_path, owner=crate::apis::urlencode(owner), repo=crate::apis::urlencode(repo));
183 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
184
185 if let Some(ref local_var_str) = all {
186 local_var_req_builder = local_var_req_builder.query(&[("all", &local_var_str.to_string())]);
187 }
188 if let Some(ref local_var_str) = status_types {
189 local_var_req_builder = match "multi" {
190 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("status-types".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
191 _ => local_var_req_builder.query(&[("status-types", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
192 };
193 }
194 if let Some(ref local_var_str) = subject_type {
195 local_var_req_builder = match "multi" {
196 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("subject-type".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
197 _ => local_var_req_builder.query(&[("subject-type", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
198 };
199 }
200 if let Some(ref local_var_str) = since {
201 local_var_req_builder = local_var_req_builder.query(&[("since", &local_var_str.to_string())]);
202 }
203 if let Some(ref local_var_str) = before {
204 local_var_req_builder = local_var_req_builder.query(&[("before", &local_var_str.to_string())]);
205 }
206 if let Some(ref local_var_str) = page {
207 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
208 }
209 if let Some(ref local_var_str) = limit {
210 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
211 }
212 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
213 let local_var_key = local_var_apikey.key.clone();
214 let local_var_value = match local_var_apikey.prefix {
215 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
216 None => local_var_key,
217 };
218 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
219 }
220 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
221 let local_var_key = local_var_apikey.key.clone();
222 let local_var_value = match local_var_apikey.prefix {
223 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
224 None => local_var_key,
225 };
226 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
227 }
228 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
229 let local_var_key = local_var_apikey.key.clone();
230 let local_var_value = match local_var_apikey.prefix {
231 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
232 None => local_var_key,
233 };
234 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
235 }
236 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
237 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
238 }
239 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
240 let local_var_key = local_var_apikey.key.clone();
241 let local_var_value = match local_var_apikey.prefix {
242 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
243 None => local_var_key,
244 };
245 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
246 };
247 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
248 let local_var_key = local_var_apikey.key.clone();
249 let local_var_value = match local_var_apikey.prefix {
250 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
251 None => local_var_key,
252 };
253 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
254 };
255 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
256 let local_var_key = local_var_apikey.key.clone();
257 let local_var_value = match local_var_apikey.prefix {
258 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
259 None => local_var_key,
260 };
261 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
262 };
263 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
264 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
265 };
266
267 let local_var_req = local_var_req_builder.build()?;
268 let local_var_resp = local_var_client.execute(local_var_req).await?;
269
270 let local_var_status = local_var_resp.status();
271 let local_var_content = local_var_resp.text().await?;
272
273 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
274 serde_json::from_str(&local_var_content).map_err(Error::from)
275 } else {
276 let local_var_entity: Option<NotifyGetRepoListError> = serde_json::from_str(&local_var_content).ok();
277 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
278 Err(Error::ResponseError(local_var_error))
279 }
280}
281
282pub async fn notify_get_thread(configuration: &configuration::Configuration, id: &str) -> Result<crate::models::NotificationThread, Error<NotifyGetThreadError>> {
283 let local_var_configuration = configuration;
284
285 let local_var_client = &local_var_configuration.client;
286
287 let local_var_uri_str = format!("{}/notifications/threads/{id}", local_var_configuration.base_path, id=crate::apis::urlencode(id));
288 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
289
290 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
291 let local_var_key = local_var_apikey.key.clone();
292 let local_var_value = match local_var_apikey.prefix {
293 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
294 None => local_var_key,
295 };
296 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
297 }
298 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
299 let local_var_key = local_var_apikey.key.clone();
300 let local_var_value = match local_var_apikey.prefix {
301 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
302 None => local_var_key,
303 };
304 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
305 }
306 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
307 let local_var_key = local_var_apikey.key.clone();
308 let local_var_value = match local_var_apikey.prefix {
309 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
310 None => local_var_key,
311 };
312 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
313 }
314 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
315 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
316 }
317 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
318 let local_var_key = local_var_apikey.key.clone();
319 let local_var_value = match local_var_apikey.prefix {
320 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
321 None => local_var_key,
322 };
323 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
324 };
325 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
326 let local_var_key = local_var_apikey.key.clone();
327 let local_var_value = match local_var_apikey.prefix {
328 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
329 None => local_var_key,
330 };
331 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
332 };
333 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
334 let local_var_key = local_var_apikey.key.clone();
335 let local_var_value = match local_var_apikey.prefix {
336 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
337 None => local_var_key,
338 };
339 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
340 };
341 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
342 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
343 };
344
345 let local_var_req = local_var_req_builder.build()?;
346 let local_var_resp = local_var_client.execute(local_var_req).await?;
347
348 let local_var_status = local_var_resp.status();
349 let local_var_content = local_var_resp.text().await?;
350
351 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
352 serde_json::from_str(&local_var_content).map_err(Error::from)
353 } else {
354 let local_var_entity: Option<NotifyGetThreadError> = serde_json::from_str(&local_var_content).ok();
355 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
356 Err(Error::ResponseError(local_var_error))
357 }
358}
359
360pub async fn notify_new_available(configuration: &configuration::Configuration, ) -> Result<crate::models::NotificationCount, Error<NotifyNewAvailableError>> {
361 let local_var_configuration = configuration;
362
363 let local_var_client = &local_var_configuration.client;
364
365 let local_var_uri_str = format!("{}/notifications/new", local_var_configuration.base_path);
366 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
367
368 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
369 let local_var_key = local_var_apikey.key.clone();
370 let local_var_value = match local_var_apikey.prefix {
371 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
372 None => local_var_key,
373 };
374 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
375 }
376 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
377 let local_var_key = local_var_apikey.key.clone();
378 let local_var_value = match local_var_apikey.prefix {
379 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
380 None => local_var_key,
381 };
382 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
383 }
384 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
385 let local_var_key = local_var_apikey.key.clone();
386 let local_var_value = match local_var_apikey.prefix {
387 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
388 None => local_var_key,
389 };
390 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
391 }
392 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
393 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
394 }
395 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
396 let local_var_key = local_var_apikey.key.clone();
397 let local_var_value = match local_var_apikey.prefix {
398 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
399 None => local_var_key,
400 };
401 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
402 };
403 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
404 let local_var_key = local_var_apikey.key.clone();
405 let local_var_value = match local_var_apikey.prefix {
406 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
407 None => local_var_key,
408 };
409 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
410 };
411 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
412 let local_var_key = local_var_apikey.key.clone();
413 let local_var_value = match local_var_apikey.prefix {
414 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
415 None => local_var_key,
416 };
417 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
418 };
419 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
420 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
421 };
422
423 let local_var_req = local_var_req_builder.build()?;
424 let local_var_resp = local_var_client.execute(local_var_req).await?;
425
426 let local_var_status = local_var_resp.status();
427 let local_var_content = local_var_resp.text().await?;
428
429 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
430 serde_json::from_str(&local_var_content).map_err(Error::from)
431 } else {
432 let local_var_entity: Option<NotifyNewAvailableError> = serde_json::from_str(&local_var_content).ok();
433 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
434 Err(Error::ResponseError(local_var_error))
435 }
436}
437
438pub async fn notify_read_list(configuration: &configuration::Configuration, last_read_at: Option<String>, all: Option<&str>, status_types: Option<Vec<String>>, to_status: Option<&str>) -> Result<Vec<crate::models::NotificationThread>, Error<NotifyReadListError>> {
439 let local_var_configuration = configuration;
440
441 let local_var_client = &local_var_configuration.client;
442
443 let local_var_uri_str = format!("{}/notifications", local_var_configuration.base_path);
444 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
445
446 if let Some(ref local_var_str) = last_read_at {
447 local_var_req_builder = local_var_req_builder.query(&[("last_read_at", &local_var_str.to_string())]);
448 }
449 if let Some(ref local_var_str) = all {
450 local_var_req_builder = local_var_req_builder.query(&[("all", &local_var_str.to_string())]);
451 }
452 if let Some(ref local_var_str) = status_types {
453 local_var_req_builder = match "multi" {
454 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("status-types".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
455 _ => local_var_req_builder.query(&[("status-types", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
456 };
457 }
458 if let Some(ref local_var_str) = to_status {
459 local_var_req_builder = local_var_req_builder.query(&[("to-status", &local_var_str.to_string())]);
460 }
461 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
462 let local_var_key = local_var_apikey.key.clone();
463 let local_var_value = match local_var_apikey.prefix {
464 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
465 None => local_var_key,
466 };
467 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
468 }
469 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
470 let local_var_key = local_var_apikey.key.clone();
471 let local_var_value = match local_var_apikey.prefix {
472 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
473 None => local_var_key,
474 };
475 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
476 }
477 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
478 let local_var_key = local_var_apikey.key.clone();
479 let local_var_value = match local_var_apikey.prefix {
480 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
481 None => local_var_key,
482 };
483 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
484 }
485 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
486 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
487 }
488 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
489 let local_var_key = local_var_apikey.key.clone();
490 let local_var_value = match local_var_apikey.prefix {
491 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
492 None => local_var_key,
493 };
494 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
495 };
496 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
497 let local_var_key = local_var_apikey.key.clone();
498 let local_var_value = match local_var_apikey.prefix {
499 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
500 None => local_var_key,
501 };
502 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
503 };
504 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
505 let local_var_key = local_var_apikey.key.clone();
506 let local_var_value = match local_var_apikey.prefix {
507 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
508 None => local_var_key,
509 };
510 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
511 };
512 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
513 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
514 };
515
516 let local_var_req = local_var_req_builder.build()?;
517 let local_var_resp = local_var_client.execute(local_var_req).await?;
518
519 let local_var_status = local_var_resp.status();
520 let local_var_content = local_var_resp.text().await?;
521
522 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
523 serde_json::from_str(&local_var_content).map_err(Error::from)
524 } else {
525 let local_var_entity: Option<NotifyReadListError> = serde_json::from_str(&local_var_content).ok();
526 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
527 Err(Error::ResponseError(local_var_error))
528 }
529}
530
531pub async fn notify_read_repo_list(configuration: &configuration::Configuration, owner: &str, repo: &str, all: Option<&str>, status_types: Option<Vec<String>>, to_status: Option<&str>, last_read_at: Option<String>) -> Result<Vec<crate::models::NotificationThread>, Error<NotifyReadRepoListError>> {
532 let local_var_configuration = configuration;
533
534 let local_var_client = &local_var_configuration.client;
535
536 let local_var_uri_str = format!("{}/repos/{owner}/{repo}/notifications", local_var_configuration.base_path, owner=crate::apis::urlencode(owner), repo=crate::apis::urlencode(repo));
537 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
538
539 if let Some(ref local_var_str) = all {
540 local_var_req_builder = local_var_req_builder.query(&[("all", &local_var_str.to_string())]);
541 }
542 if let Some(ref local_var_str) = status_types {
543 local_var_req_builder = match "multi" {
544 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("status-types".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
545 _ => local_var_req_builder.query(&[("status-types", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
546 };
547 }
548 if let Some(ref local_var_str) = to_status {
549 local_var_req_builder = local_var_req_builder.query(&[("to-status", &local_var_str.to_string())]);
550 }
551 if let Some(ref local_var_str) = last_read_at {
552 local_var_req_builder = local_var_req_builder.query(&[("last_read_at", &local_var_str.to_string())]);
553 }
554 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
555 let local_var_key = local_var_apikey.key.clone();
556 let local_var_value = match local_var_apikey.prefix {
557 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
558 None => local_var_key,
559 };
560 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
561 }
562 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
563 let local_var_key = local_var_apikey.key.clone();
564 let local_var_value = match local_var_apikey.prefix {
565 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
566 None => local_var_key,
567 };
568 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
569 }
570 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
571 let local_var_key = local_var_apikey.key.clone();
572 let local_var_value = match local_var_apikey.prefix {
573 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
574 None => local_var_key,
575 };
576 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
577 }
578 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
579 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
580 }
581 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
582 let local_var_key = local_var_apikey.key.clone();
583 let local_var_value = match local_var_apikey.prefix {
584 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
585 None => local_var_key,
586 };
587 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
588 };
589 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
590 let local_var_key = local_var_apikey.key.clone();
591 let local_var_value = match local_var_apikey.prefix {
592 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
593 None => local_var_key,
594 };
595 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
596 };
597 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
598 let local_var_key = local_var_apikey.key.clone();
599 let local_var_value = match local_var_apikey.prefix {
600 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
601 None => local_var_key,
602 };
603 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
604 };
605 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
606 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
607 };
608
609 let local_var_req = local_var_req_builder.build()?;
610 let local_var_resp = local_var_client.execute(local_var_req).await?;
611
612 let local_var_status = local_var_resp.status();
613 let local_var_content = local_var_resp.text().await?;
614
615 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
616 serde_json::from_str(&local_var_content).map_err(Error::from)
617 } else {
618 let local_var_entity: Option<NotifyReadRepoListError> = serde_json::from_str(&local_var_content).ok();
619 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
620 Err(Error::ResponseError(local_var_error))
621 }
622}
623
624pub async fn notify_read_thread(configuration: &configuration::Configuration, id: &str, to_status: Option<&str>) -> Result<crate::models::NotificationThread, Error<NotifyReadThreadError>> {
625 let local_var_configuration = configuration;
626
627 let local_var_client = &local_var_configuration.client;
628
629 let local_var_uri_str = format!("{}/notifications/threads/{id}", local_var_configuration.base_path, id=crate::apis::urlencode(id));
630 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
631
632 if let Some(ref local_var_str) = to_status {
633 local_var_req_builder = local_var_req_builder.query(&[("to-status", &local_var_str.to_string())]);
634 }
635 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
636 let local_var_key = local_var_apikey.key.clone();
637 let local_var_value = match local_var_apikey.prefix {
638 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
639 None => local_var_key,
640 };
641 local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
642 }
643 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
644 let local_var_key = local_var_apikey.key.clone();
645 let local_var_value = match local_var_apikey.prefix {
646 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
647 None => local_var_key,
648 };
649 local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
650 }
651 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
652 let local_var_key = local_var_apikey.key.clone();
653 let local_var_value = match local_var_apikey.prefix {
654 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
655 None => local_var_key,
656 };
657 local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
658 }
659 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
660 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
661 }
662 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
663 let local_var_key = local_var_apikey.key.clone();
664 let local_var_value = match local_var_apikey.prefix {
665 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
666 None => local_var_key,
667 };
668 local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
669 };
670 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
671 let local_var_key = local_var_apikey.key.clone();
672 let local_var_value = match local_var_apikey.prefix {
673 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
674 None => local_var_key,
675 };
676 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
677 };
678 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
679 let local_var_key = local_var_apikey.key.clone();
680 let local_var_value = match local_var_apikey.prefix {
681 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
682 None => local_var_key,
683 };
684 local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
685 };
686 if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
687 local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
688 };
689
690 let local_var_req = local_var_req_builder.build()?;
691 let local_var_resp = local_var_client.execute(local_var_req).await?;
692
693 let local_var_status = local_var_resp.status();
694 let local_var_content = local_var_resp.text().await?;
695
696 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
697 serde_json::from_str(&local_var_content).map_err(Error::from)
698 } else {
699 let local_var_entity: Option<NotifyReadThreadError> = serde_json::from_str(&local_var_content).ok();
700 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
701 Err(Error::ResponseError(local_var_error))
702 }
703}
704