1use reqwest;
13use serde::{Deserialize, Serialize, de::Error as _};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration, ContentType};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum DeletePackageError {
22 Status404(),
23 UnknownValue(serde_json::Value),
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum GetLatestPackageVersionError {
30 Status404(),
31 UnknownValue(serde_json::Value),
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum GetPackageError {
38 Status404(),
39 UnknownValue(serde_json::Value),
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum LinkPackageError {
46 Status404(),
47 UnknownValue(serde_json::Value),
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize)]
52#[serde(untagged)]
53pub enum ListPackageFilesError {
54 Status404(),
55 UnknownValue(serde_json::Value),
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize)]
60#[serde(untagged)]
61pub enum ListPackageVersionsError {
62 Status404(),
63 UnknownValue(serde_json::Value),
64}
65
66#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(untagged)]
69pub enum ListPackagesError {
70 Status404(),
71 UnknownValue(serde_json::Value),
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum UnlinkPackageError {
78 Status404(),
79 UnknownValue(serde_json::Value),
80}
81
82
83pub async fn delete_package(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, version: &str) -> Result<(), Error<DeletePackageError>> {
84 let p_path_owner = owner;
86 let p_path_type = r#type;
87 let p_path_name = name;
88 let p_path_version = version;
89
90 let uri_str = format!("{}/packages/{owner}/{type}/{name}/{version}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), type=crate::apis::urlencode(p_path_type), name=crate::apis::urlencode(p_path_name), version=crate::apis::urlencode(p_path_version));
91 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
92
93 if let Some(ref apikey) = configuration.api_key {
94 let key = apikey.key.clone();
95 let value = match apikey.prefix {
96 Some(ref prefix) => format!("{} {}", prefix, key),
97 None => key,
98 };
99 req_builder = req_builder.query(&[("access_token", value)]);
100 }
101 if let Some(ref apikey) = configuration.api_key {
102 let key = apikey.key.clone();
103 let value = match apikey.prefix {
104 Some(ref prefix) => format!("{} {}", prefix, key),
105 None => key,
106 };
107 req_builder = req_builder.query(&[("sudo", value)]);
108 }
109 if let Some(ref apikey) = configuration.api_key {
110 let key = apikey.key.clone();
111 let value = match apikey.prefix {
112 Some(ref prefix) => format!("{} {}", prefix, key),
113 None => key,
114 };
115 req_builder = req_builder.query(&[("token", value)]);
116 }
117 if let Some(ref user_agent) = configuration.user_agent {
118 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
119 }
120 if let Some(ref apikey) = configuration.api_key {
121 let key = apikey.key.clone();
122 let value = match apikey.prefix {
123 Some(ref prefix) => format!("{} {}", prefix, key),
124 None => key,
125 };
126 req_builder = req_builder.header("X-GITEA-OTP", value);
127 };
128 if let Some(ref apikey) = configuration.api_key {
129 let key = apikey.key.clone();
130 let value = match apikey.prefix {
131 Some(ref prefix) => format!("{} {}", prefix, key),
132 None => key,
133 };
134 req_builder = req_builder.header("Authorization", value);
135 };
136 if let Some(ref apikey) = configuration.api_key {
137 let key = apikey.key.clone();
138 let value = match apikey.prefix {
139 Some(ref prefix) => format!("{} {}", prefix, key),
140 None => key,
141 };
142 req_builder = req_builder.header("Sudo", value);
143 };
144 if let Some(ref auth_conf) = configuration.basic_auth {
145 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
146 };
147
148 let req = req_builder.build()?;
149 let resp = configuration.client.execute(req).await?;
150
151 let status = resp.status();
152
153 if !status.is_client_error() && !status.is_server_error() {
154 Ok(())
155 } else {
156 let content = resp.text().await?;
157 let entity: Option<DeletePackageError> = serde_json::from_str(&content).ok();
158 Err(Error::ResponseError(ResponseContent { status, content, entity }))
159 }
160}
161
162pub async fn get_latest_package_version(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str) -> Result<models::Package, Error<GetLatestPackageVersionError>> {
163 let p_path_owner = owner;
165 let p_path_type = r#type;
166 let p_path_name = name;
167
168 let uri_str = format!("{}/packages/{owner}/{type}/{name}/-/latest", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), type=crate::apis::urlencode(p_path_type), name=crate::apis::urlencode(p_path_name));
169 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
170
171 if let Some(ref apikey) = configuration.api_key {
172 let key = apikey.key.clone();
173 let value = match apikey.prefix {
174 Some(ref prefix) => format!("{} {}", prefix, key),
175 None => key,
176 };
177 req_builder = req_builder.query(&[("access_token", value)]);
178 }
179 if let Some(ref apikey) = configuration.api_key {
180 let key = apikey.key.clone();
181 let value = match apikey.prefix {
182 Some(ref prefix) => format!("{} {}", prefix, key),
183 None => key,
184 };
185 req_builder = req_builder.query(&[("sudo", value)]);
186 }
187 if let Some(ref apikey) = configuration.api_key {
188 let key = apikey.key.clone();
189 let value = match apikey.prefix {
190 Some(ref prefix) => format!("{} {}", prefix, key),
191 None => key,
192 };
193 req_builder = req_builder.query(&[("token", value)]);
194 }
195 if let Some(ref user_agent) = configuration.user_agent {
196 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
197 }
198 if let Some(ref apikey) = configuration.api_key {
199 let key = apikey.key.clone();
200 let value = match apikey.prefix {
201 Some(ref prefix) => format!("{} {}", prefix, key),
202 None => key,
203 };
204 req_builder = req_builder.header("X-GITEA-OTP", value);
205 };
206 if let Some(ref apikey) = configuration.api_key {
207 let key = apikey.key.clone();
208 let value = match apikey.prefix {
209 Some(ref prefix) => format!("{} {}", prefix, key),
210 None => key,
211 };
212 req_builder = req_builder.header("Authorization", value);
213 };
214 if let Some(ref apikey) = configuration.api_key {
215 let key = apikey.key.clone();
216 let value = match apikey.prefix {
217 Some(ref prefix) => format!("{} {}", prefix, key),
218 None => key,
219 };
220 req_builder = req_builder.header("Sudo", value);
221 };
222 if let Some(ref auth_conf) = configuration.basic_auth {
223 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
224 };
225
226 let req = req_builder.build()?;
227 let resp = configuration.client.execute(req).await?;
228
229 let status = resp.status();
230 let content_type = resp
231 .headers()
232 .get("content-type")
233 .and_then(|v| v.to_str().ok())
234 .unwrap_or("application/octet-stream");
235 let content_type = super::ContentType::from(content_type);
236
237 if !status.is_client_error() && !status.is_server_error() {
238 let content = resp.text().await?;
239 match content_type {
240 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
241 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Package`"))),
242 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::Package`")))),
243 }
244 } else {
245 let content = resp.text().await?;
246 let entity: Option<GetLatestPackageVersionError> = serde_json::from_str(&content).ok();
247 Err(Error::ResponseError(ResponseContent { status, content, entity }))
248 }
249}
250
251pub async fn get_package(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, version: &str) -> Result<models::Package, Error<GetPackageError>> {
252 let p_path_owner = owner;
254 let p_path_type = r#type;
255 let p_path_name = name;
256 let p_path_version = version;
257
258 let uri_str = format!("{}/packages/{owner}/{type}/{name}/{version}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), type=crate::apis::urlencode(p_path_type), name=crate::apis::urlencode(p_path_name), version=crate::apis::urlencode(p_path_version));
259 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
260
261 if let Some(ref apikey) = configuration.api_key {
262 let key = apikey.key.clone();
263 let value = match apikey.prefix {
264 Some(ref prefix) => format!("{} {}", prefix, key),
265 None => key,
266 };
267 req_builder = req_builder.query(&[("access_token", value)]);
268 }
269 if let Some(ref apikey) = configuration.api_key {
270 let key = apikey.key.clone();
271 let value = match apikey.prefix {
272 Some(ref prefix) => format!("{} {}", prefix, key),
273 None => key,
274 };
275 req_builder = req_builder.query(&[("sudo", value)]);
276 }
277 if let Some(ref apikey) = configuration.api_key {
278 let key = apikey.key.clone();
279 let value = match apikey.prefix {
280 Some(ref prefix) => format!("{} {}", prefix, key),
281 None => key,
282 };
283 req_builder = req_builder.query(&[("token", value)]);
284 }
285 if let Some(ref user_agent) = configuration.user_agent {
286 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
287 }
288 if let Some(ref apikey) = configuration.api_key {
289 let key = apikey.key.clone();
290 let value = match apikey.prefix {
291 Some(ref prefix) => format!("{} {}", prefix, key),
292 None => key,
293 };
294 req_builder = req_builder.header("X-GITEA-OTP", value);
295 };
296 if let Some(ref apikey) = configuration.api_key {
297 let key = apikey.key.clone();
298 let value = match apikey.prefix {
299 Some(ref prefix) => format!("{} {}", prefix, key),
300 None => key,
301 };
302 req_builder = req_builder.header("Authorization", value);
303 };
304 if let Some(ref apikey) = configuration.api_key {
305 let key = apikey.key.clone();
306 let value = match apikey.prefix {
307 Some(ref prefix) => format!("{} {}", prefix, key),
308 None => key,
309 };
310 req_builder = req_builder.header("Sudo", value);
311 };
312 if let Some(ref auth_conf) = configuration.basic_auth {
313 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
314 };
315
316 let req = req_builder.build()?;
317 let resp = configuration.client.execute(req).await?;
318
319 let status = resp.status();
320 let content_type = resp
321 .headers()
322 .get("content-type")
323 .and_then(|v| v.to_str().ok())
324 .unwrap_or("application/octet-stream");
325 let content_type = super::ContentType::from(content_type);
326
327 if !status.is_client_error() && !status.is_server_error() {
328 let content = resp.text().await?;
329 match content_type {
330 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
331 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Package`"))),
332 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::Package`")))),
333 }
334 } else {
335 let content = resp.text().await?;
336 let entity: Option<GetPackageError> = serde_json::from_str(&content).ok();
337 Err(Error::ResponseError(ResponseContent { status, content, entity }))
338 }
339}
340
341pub async fn link_package(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, repo_name: &str) -> Result<(), Error<LinkPackageError>> {
342 let p_path_owner = owner;
344 let p_path_type = r#type;
345 let p_path_name = name;
346 let p_path_repo_name = repo_name;
347
348 let uri_str = format!("{}/packages/{owner}/{type}/{name}/-/link/{repo_name}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), type=crate::apis::urlencode(p_path_type), name=crate::apis::urlencode(p_path_name), repo_name=crate::apis::urlencode(p_path_repo_name));
349 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
350
351 if let Some(ref apikey) = configuration.api_key {
352 let key = apikey.key.clone();
353 let value = match apikey.prefix {
354 Some(ref prefix) => format!("{} {}", prefix, key),
355 None => key,
356 };
357 req_builder = req_builder.query(&[("access_token", value)]);
358 }
359 if let Some(ref apikey) = configuration.api_key {
360 let key = apikey.key.clone();
361 let value = match apikey.prefix {
362 Some(ref prefix) => format!("{} {}", prefix, key),
363 None => key,
364 };
365 req_builder = req_builder.query(&[("sudo", value)]);
366 }
367 if let Some(ref apikey) = configuration.api_key {
368 let key = apikey.key.clone();
369 let value = match apikey.prefix {
370 Some(ref prefix) => format!("{} {}", prefix, key),
371 None => key,
372 };
373 req_builder = req_builder.query(&[("token", value)]);
374 }
375 if let Some(ref user_agent) = configuration.user_agent {
376 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
377 }
378 if let Some(ref apikey) = configuration.api_key {
379 let key = apikey.key.clone();
380 let value = match apikey.prefix {
381 Some(ref prefix) => format!("{} {}", prefix, key),
382 None => key,
383 };
384 req_builder = req_builder.header("X-GITEA-OTP", value);
385 };
386 if let Some(ref apikey) = configuration.api_key {
387 let key = apikey.key.clone();
388 let value = match apikey.prefix {
389 Some(ref prefix) => format!("{} {}", prefix, key),
390 None => key,
391 };
392 req_builder = req_builder.header("Authorization", value);
393 };
394 if let Some(ref apikey) = configuration.api_key {
395 let key = apikey.key.clone();
396 let value = match apikey.prefix {
397 Some(ref prefix) => format!("{} {}", prefix, key),
398 None => key,
399 };
400 req_builder = req_builder.header("Sudo", value);
401 };
402 if let Some(ref auth_conf) = configuration.basic_auth {
403 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
404 };
405
406 let req = req_builder.build()?;
407 let resp = configuration.client.execute(req).await?;
408
409 let status = resp.status();
410
411 if !status.is_client_error() && !status.is_server_error() {
412 Ok(())
413 } else {
414 let content = resp.text().await?;
415 let entity: Option<LinkPackageError> = serde_json::from_str(&content).ok();
416 Err(Error::ResponseError(ResponseContent { status, content, entity }))
417 }
418}
419
420pub async fn list_package_files(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, version: &str) -> Result<Vec<models::PackageFile>, Error<ListPackageFilesError>> {
421 let p_path_owner = owner;
423 let p_path_type = r#type;
424 let p_path_name = name;
425 let p_path_version = version;
426
427 let uri_str = format!("{}/packages/{owner}/{type}/{name}/{version}/files", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), type=crate::apis::urlencode(p_path_type), name=crate::apis::urlencode(p_path_name), version=crate::apis::urlencode(p_path_version));
428 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
429
430 if let Some(ref apikey) = configuration.api_key {
431 let key = apikey.key.clone();
432 let value = match apikey.prefix {
433 Some(ref prefix) => format!("{} {}", prefix, key),
434 None => key,
435 };
436 req_builder = req_builder.query(&[("access_token", value)]);
437 }
438 if let Some(ref apikey) = configuration.api_key {
439 let key = apikey.key.clone();
440 let value = match apikey.prefix {
441 Some(ref prefix) => format!("{} {}", prefix, key),
442 None => key,
443 };
444 req_builder = req_builder.query(&[("sudo", value)]);
445 }
446 if let Some(ref apikey) = configuration.api_key {
447 let key = apikey.key.clone();
448 let value = match apikey.prefix {
449 Some(ref prefix) => format!("{} {}", prefix, key),
450 None => key,
451 };
452 req_builder = req_builder.query(&[("token", value)]);
453 }
454 if let Some(ref user_agent) = configuration.user_agent {
455 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
456 }
457 if let Some(ref apikey) = configuration.api_key {
458 let key = apikey.key.clone();
459 let value = match apikey.prefix {
460 Some(ref prefix) => format!("{} {}", prefix, key),
461 None => key,
462 };
463 req_builder = req_builder.header("X-GITEA-OTP", value);
464 };
465 if let Some(ref apikey) = configuration.api_key {
466 let key = apikey.key.clone();
467 let value = match apikey.prefix {
468 Some(ref prefix) => format!("{} {}", prefix, key),
469 None => key,
470 };
471 req_builder = req_builder.header("Authorization", value);
472 };
473 if let Some(ref apikey) = configuration.api_key {
474 let key = apikey.key.clone();
475 let value = match apikey.prefix {
476 Some(ref prefix) => format!("{} {}", prefix, key),
477 None => key,
478 };
479 req_builder = req_builder.header("Sudo", value);
480 };
481 if let Some(ref auth_conf) = configuration.basic_auth {
482 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
483 };
484
485 let req = req_builder.build()?;
486 let resp = configuration.client.execute(req).await?;
487
488 let status = resp.status();
489 let content_type = resp
490 .headers()
491 .get("content-type")
492 .and_then(|v| v.to_str().ok())
493 .unwrap_or("application/octet-stream");
494 let content_type = super::ContentType::from(content_type);
495
496 if !status.is_client_error() && !status.is_server_error() {
497 let content = resp.text().await?;
498 match content_type {
499 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
500 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::PackageFile>`"))),
501 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<models::PackageFile>`")))),
502 }
503 } else {
504 let content = resp.text().await?;
505 let entity: Option<ListPackageFilesError> = serde_json::from_str(&content).ok();
506 Err(Error::ResponseError(ResponseContent { status, content, entity }))
507 }
508}
509
510pub async fn list_package_versions(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, page: Option<i32>, limit: Option<i32>) -> Result<Vec<models::Package>, Error<ListPackageVersionsError>> {
511 let p_path_owner = owner;
513 let p_path_type = r#type;
514 let p_path_name = name;
515 let p_query_page = page;
516 let p_query_limit = limit;
517
518 let uri_str = format!("{}/packages/{owner}/{type}/{name}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), type=crate::apis::urlencode(p_path_type), name=crate::apis::urlencode(p_path_name));
519 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
520
521 if let Some(ref param_value) = p_query_page {
522 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
523 }
524 if let Some(ref param_value) = p_query_limit {
525 req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]);
526 }
527 if let Some(ref apikey) = configuration.api_key {
528 let key = apikey.key.clone();
529 let value = match apikey.prefix {
530 Some(ref prefix) => format!("{} {}", prefix, key),
531 None => key,
532 };
533 req_builder = req_builder.query(&[("access_token", value)]);
534 }
535 if let Some(ref apikey) = configuration.api_key {
536 let key = apikey.key.clone();
537 let value = match apikey.prefix {
538 Some(ref prefix) => format!("{} {}", prefix, key),
539 None => key,
540 };
541 req_builder = req_builder.query(&[("sudo", value)]);
542 }
543 if let Some(ref apikey) = configuration.api_key {
544 let key = apikey.key.clone();
545 let value = match apikey.prefix {
546 Some(ref prefix) => format!("{} {}", prefix, key),
547 None => key,
548 };
549 req_builder = req_builder.query(&[("token", value)]);
550 }
551 if let Some(ref user_agent) = configuration.user_agent {
552 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
553 }
554 if let Some(ref apikey) = configuration.api_key {
555 let key = apikey.key.clone();
556 let value = match apikey.prefix {
557 Some(ref prefix) => format!("{} {}", prefix, key),
558 None => key,
559 };
560 req_builder = req_builder.header("X-GITEA-OTP", value);
561 };
562 if let Some(ref apikey) = configuration.api_key {
563 let key = apikey.key.clone();
564 let value = match apikey.prefix {
565 Some(ref prefix) => format!("{} {}", prefix, key),
566 None => key,
567 };
568 req_builder = req_builder.header("Authorization", value);
569 };
570 if let Some(ref apikey) = configuration.api_key {
571 let key = apikey.key.clone();
572 let value = match apikey.prefix {
573 Some(ref prefix) => format!("{} {}", prefix, key),
574 None => key,
575 };
576 req_builder = req_builder.header("Sudo", value);
577 };
578 if let Some(ref auth_conf) = configuration.basic_auth {
579 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
580 };
581
582 let req = req_builder.build()?;
583 let resp = configuration.client.execute(req).await?;
584
585 let status = resp.status();
586 let content_type = resp
587 .headers()
588 .get("content-type")
589 .and_then(|v| v.to_str().ok())
590 .unwrap_or("application/octet-stream");
591 let content_type = super::ContentType::from(content_type);
592
593 if !status.is_client_error() && !status.is_server_error() {
594 let content = resp.text().await?;
595 match content_type {
596 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
597 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Package>`"))),
598 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<models::Package>`")))),
599 }
600 } else {
601 let content = resp.text().await?;
602 let entity: Option<ListPackageVersionsError> = serde_json::from_str(&content).ok();
603 Err(Error::ResponseError(ResponseContent { status, content, entity }))
604 }
605}
606
607pub async fn list_packages(configuration: &configuration::Configuration, owner: &str, page: Option<i32>, limit: Option<i32>, r#type: Option<&str>, q: Option<&str>) -> Result<Vec<models::Package>, Error<ListPackagesError>> {
608 let p_path_owner = owner;
610 let p_query_page = page;
611 let p_query_limit = limit;
612 let p_query_type = r#type;
613 let p_query_q = q;
614
615 let uri_str = format!("{}/packages/{owner}", configuration.base_path, owner=crate::apis::urlencode(p_path_owner));
616 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
617
618 if let Some(ref param_value) = p_query_page {
619 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
620 }
621 if let Some(ref param_value) = p_query_limit {
622 req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]);
623 }
624 if let Some(ref param_value) = p_query_type {
625 req_builder = req_builder.query(&[("type", ¶m_value.to_string())]);
626 }
627 if let Some(ref param_value) = p_query_q {
628 req_builder = req_builder.query(&[("q", ¶m_value.to_string())]);
629 }
630 if let Some(ref apikey) = configuration.api_key {
631 let key = apikey.key.clone();
632 let value = match apikey.prefix {
633 Some(ref prefix) => format!("{} {}", prefix, key),
634 None => key,
635 };
636 req_builder = req_builder.query(&[("access_token", value)]);
637 }
638 if let Some(ref apikey) = configuration.api_key {
639 let key = apikey.key.clone();
640 let value = match apikey.prefix {
641 Some(ref prefix) => format!("{} {}", prefix, key),
642 None => key,
643 };
644 req_builder = req_builder.query(&[("sudo", value)]);
645 }
646 if let Some(ref apikey) = configuration.api_key {
647 let key = apikey.key.clone();
648 let value = match apikey.prefix {
649 Some(ref prefix) => format!("{} {}", prefix, key),
650 None => key,
651 };
652 req_builder = req_builder.query(&[("token", value)]);
653 }
654 if let Some(ref user_agent) = configuration.user_agent {
655 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
656 }
657 if let Some(ref apikey) = configuration.api_key {
658 let key = apikey.key.clone();
659 let value = match apikey.prefix {
660 Some(ref prefix) => format!("{} {}", prefix, key),
661 None => key,
662 };
663 req_builder = req_builder.header("X-GITEA-OTP", value);
664 };
665 if let Some(ref apikey) = configuration.api_key {
666 let key = apikey.key.clone();
667 let value = match apikey.prefix {
668 Some(ref prefix) => format!("{} {}", prefix, key),
669 None => key,
670 };
671 req_builder = req_builder.header("Authorization", value);
672 };
673 if let Some(ref apikey) = configuration.api_key {
674 let key = apikey.key.clone();
675 let value = match apikey.prefix {
676 Some(ref prefix) => format!("{} {}", prefix, key),
677 None => key,
678 };
679 req_builder = req_builder.header("Sudo", value);
680 };
681 if let Some(ref auth_conf) = configuration.basic_auth {
682 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
683 };
684
685 let req = req_builder.build()?;
686 let resp = configuration.client.execute(req).await?;
687
688 let status = resp.status();
689 let content_type = resp
690 .headers()
691 .get("content-type")
692 .and_then(|v| v.to_str().ok())
693 .unwrap_or("application/octet-stream");
694 let content_type = super::ContentType::from(content_type);
695
696 if !status.is_client_error() && !status.is_server_error() {
697 let content = resp.text().await?;
698 match content_type {
699 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
700 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::Package>`"))),
701 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<models::Package>`")))),
702 }
703 } else {
704 let content = resp.text().await?;
705 let entity: Option<ListPackagesError> = serde_json::from_str(&content).ok();
706 Err(Error::ResponseError(ResponseContent { status, content, entity }))
707 }
708}
709
710pub async fn unlink_package(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str) -> Result<(), Error<UnlinkPackageError>> {
711 let p_path_owner = owner;
713 let p_path_type = r#type;
714 let p_path_name = name;
715
716 let uri_str = format!("{}/packages/{owner}/{type}/{name}/-/unlink", configuration.base_path, owner=crate::apis::urlencode(p_path_owner), type=crate::apis::urlencode(p_path_type), name=crate::apis::urlencode(p_path_name));
717 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
718
719 if let Some(ref apikey) = configuration.api_key {
720 let key = apikey.key.clone();
721 let value = match apikey.prefix {
722 Some(ref prefix) => format!("{} {}", prefix, key),
723 None => key,
724 };
725 req_builder = req_builder.query(&[("access_token", value)]);
726 }
727 if let Some(ref apikey) = configuration.api_key {
728 let key = apikey.key.clone();
729 let value = match apikey.prefix {
730 Some(ref prefix) => format!("{} {}", prefix, key),
731 None => key,
732 };
733 req_builder = req_builder.query(&[("sudo", value)]);
734 }
735 if let Some(ref apikey) = configuration.api_key {
736 let key = apikey.key.clone();
737 let value = match apikey.prefix {
738 Some(ref prefix) => format!("{} {}", prefix, key),
739 None => key,
740 };
741 req_builder = req_builder.query(&[("token", value)]);
742 }
743 if let Some(ref user_agent) = configuration.user_agent {
744 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
745 }
746 if let Some(ref apikey) = configuration.api_key {
747 let key = apikey.key.clone();
748 let value = match apikey.prefix {
749 Some(ref prefix) => format!("{} {}", prefix, key),
750 None => key,
751 };
752 req_builder = req_builder.header("X-GITEA-OTP", value);
753 };
754 if let Some(ref apikey) = configuration.api_key {
755 let key = apikey.key.clone();
756 let value = match apikey.prefix {
757 Some(ref prefix) => format!("{} {}", prefix, key),
758 None => key,
759 };
760 req_builder = req_builder.header("Authorization", value);
761 };
762 if let Some(ref apikey) = configuration.api_key {
763 let key = apikey.key.clone();
764 let value = match apikey.prefix {
765 Some(ref prefix) => format!("{} {}", prefix, key),
766 None => key,
767 };
768 req_builder = req_builder.header("Sudo", value);
769 };
770 if let Some(ref auth_conf) = configuration.basic_auth {
771 req_builder = req_builder.basic_auth(auth_conf.0.to_owned(), auth_conf.1.to_owned());
772 };
773
774 let req = req_builder.build()?;
775 let resp = configuration.client.execute(req).await?;
776
777 let status = resp.status();
778
779 if !status.is_client_error() && !status.is_server_error() {
780 Ok(())
781 } else {
782 let content = resp.text().await?;
783 let entity: Option<UnlinkPackageError> = serde_json::from_str(&content).ok();
784 Err(Error::ResponseError(ResponseContent { status, content, entity }))
785 }
786}
787