gitea_client/apis/
package_api.rs

1/*
2 * Gitea API
3 *
4 * This documentation describes the Gitea API.
5 *
6 * The version of the OpenAPI document: 1.22.1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13use serde::{Deserialize, Serialize};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`delete_package`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum DeletePackageError {
22    Status404(),
23    UnknownValue(serde_json::Value),
24}
25
26/// struct for typed errors of method [`get_package`]
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum GetPackageError {
30    Status404(),
31    UnknownValue(serde_json::Value),
32}
33
34/// struct for typed errors of method [`list_package_files`]
35#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum ListPackageFilesError {
38    Status404(),
39    UnknownValue(serde_json::Value),
40}
41
42/// struct for typed errors of method [`list_packages`]
43#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum ListPackagesError {
46    Status404(),
47    UnknownValue(serde_json::Value),
48}
49
50
51pub async fn delete_package(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, version: &str) -> Result<(), Error<DeletePackageError>> {
52    let local_var_configuration = configuration;
53
54    let local_var_client = &local_var_configuration.client;
55
56    let local_var_uri_str = format!("{}/packages/{owner}/{type}/{name}/{version}", local_var_configuration.base_path, owner=crate::apis::urlencode(owner), type=crate::apis::urlencode(r#type), name=crate::apis::urlencode(name), version=crate::apis::urlencode(version));
57    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
58
59    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
60        let local_var_key = local_var_apikey.key.clone();
61        let local_var_value = match local_var_apikey.prefix {
62            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
63            None => local_var_key,
64        };
65        local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
66    }
67    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
68        let local_var_key = local_var_apikey.key.clone();
69        let local_var_value = match local_var_apikey.prefix {
70            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
71            None => local_var_key,
72        };
73        local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
74    }
75    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
76        let local_var_key = local_var_apikey.key.clone();
77        let local_var_value = match local_var_apikey.prefix {
78            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
79            None => local_var_key,
80        };
81        local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
82    }
83    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
84        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
85    }
86    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
87        let local_var_key = local_var_apikey.key.clone();
88        let local_var_value = match local_var_apikey.prefix {
89            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
90            None => local_var_key,
91        };
92        local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
93    };
94    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
95        let local_var_key = local_var_apikey.key.clone();
96        let local_var_value = match local_var_apikey.prefix {
97            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
98            None => local_var_key,
99        };
100        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
101    };
102    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
103        let local_var_key = local_var_apikey.key.clone();
104        let local_var_value = match local_var_apikey.prefix {
105            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
106            None => local_var_key,
107        };
108        local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
109    };
110    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
111        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
112    };
113
114    let local_var_req = local_var_req_builder.build()?;
115    let local_var_resp = local_var_client.execute(local_var_req).await?;
116
117    let local_var_status = local_var_resp.status();
118    let local_var_content = local_var_resp.text().await?;
119
120    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
121        Ok(())
122    } else {
123        let local_var_entity: Option<DeletePackageError> = serde_json::from_str(&local_var_content).ok();
124        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
125        Err(Error::ResponseError(local_var_error))
126    }
127}
128
129pub async fn get_package(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, version: &str) -> Result<models::Package, Error<GetPackageError>> {
130    let local_var_configuration = configuration;
131
132    let local_var_client = &local_var_configuration.client;
133
134    let local_var_uri_str = format!("{}/packages/{owner}/{type}/{name}/{version}", local_var_configuration.base_path, owner=crate::apis::urlencode(owner), type=crate::apis::urlencode(r#type), name=crate::apis::urlencode(name), version=crate::apis::urlencode(version));
135    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
136
137    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
138        let local_var_key = local_var_apikey.key.clone();
139        let local_var_value = match local_var_apikey.prefix {
140            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
141            None => local_var_key,
142        };
143        local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
144    }
145    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
146        let local_var_key = local_var_apikey.key.clone();
147        let local_var_value = match local_var_apikey.prefix {
148            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
149            None => local_var_key,
150        };
151        local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
152    }
153    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
154        let local_var_key = local_var_apikey.key.clone();
155        let local_var_value = match local_var_apikey.prefix {
156            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
157            None => local_var_key,
158        };
159        local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
160    }
161    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
162        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
163    }
164    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
165        let local_var_key = local_var_apikey.key.clone();
166        let local_var_value = match local_var_apikey.prefix {
167            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
168            None => local_var_key,
169        };
170        local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
171    };
172    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
173        let local_var_key = local_var_apikey.key.clone();
174        let local_var_value = match local_var_apikey.prefix {
175            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
176            None => local_var_key,
177        };
178        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
179    };
180    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
181        let local_var_key = local_var_apikey.key.clone();
182        let local_var_value = match local_var_apikey.prefix {
183            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
184            None => local_var_key,
185        };
186        local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
187    };
188    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
189        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
190    };
191
192    let local_var_req = local_var_req_builder.build()?;
193    let local_var_resp = local_var_client.execute(local_var_req).await?;
194
195    let local_var_status = local_var_resp.status();
196    let local_var_content = local_var_resp.text().await?;
197
198    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
199        serde_json::from_str(&local_var_content).map_err(Error::from)
200    } else {
201        let local_var_entity: Option<GetPackageError> = serde_json::from_str(&local_var_content).ok();
202        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
203        Err(Error::ResponseError(local_var_error))
204    }
205}
206
207pub async fn list_package_files(configuration: &configuration::Configuration, owner: &str, r#type: &str, name: &str, version: &str) -> Result<Vec<models::PackageFile>, Error<ListPackageFilesError>> {
208    let local_var_configuration = configuration;
209
210    let local_var_client = &local_var_configuration.client;
211
212    let local_var_uri_str = format!("{}/packages/{owner}/{type}/{name}/{version}/files", local_var_configuration.base_path, owner=crate::apis::urlencode(owner), type=crate::apis::urlencode(r#type), name=crate::apis::urlencode(name), version=crate::apis::urlencode(version));
213    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
214
215    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
216        let local_var_key = local_var_apikey.key.clone();
217        let local_var_value = match local_var_apikey.prefix {
218            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
219            None => local_var_key,
220        };
221        local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
222    }
223    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
224        let local_var_key = local_var_apikey.key.clone();
225        let local_var_value = match local_var_apikey.prefix {
226            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
227            None => local_var_key,
228        };
229        local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
230    }
231    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
232        let local_var_key = local_var_apikey.key.clone();
233        let local_var_value = match local_var_apikey.prefix {
234            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
235            None => local_var_key,
236        };
237        local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
238    }
239    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
240        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
241    }
242    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
243        let local_var_key = local_var_apikey.key.clone();
244        let local_var_value = match local_var_apikey.prefix {
245            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
246            None => local_var_key,
247        };
248        local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
249    };
250    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
251        let local_var_key = local_var_apikey.key.clone();
252        let local_var_value = match local_var_apikey.prefix {
253            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
254            None => local_var_key,
255        };
256        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
257    };
258    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
259        let local_var_key = local_var_apikey.key.clone();
260        let local_var_value = match local_var_apikey.prefix {
261            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
262            None => local_var_key,
263        };
264        local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
265    };
266    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
267        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
268    };
269
270    let local_var_req = local_var_req_builder.build()?;
271    let local_var_resp = local_var_client.execute(local_var_req).await?;
272
273    let local_var_status = local_var_resp.status();
274    let local_var_content = local_var_resp.text().await?;
275
276    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
277        serde_json::from_str(&local_var_content).map_err(Error::from)
278    } else {
279        let local_var_entity: Option<ListPackageFilesError> = serde_json::from_str(&local_var_content).ok();
280        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
281        Err(Error::ResponseError(local_var_error))
282    }
283}
284
285pub 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>> {
286    let local_var_configuration = configuration;
287
288    let local_var_client = &local_var_configuration.client;
289
290    let local_var_uri_str = format!("{}/packages/{owner}", local_var_configuration.base_path, owner=crate::apis::urlencode(owner));
291    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
292
293    if let Some(ref local_var_str) = page {
294        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
295    }
296    if let Some(ref local_var_str) = limit {
297        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
298    }
299    if let Some(ref local_var_str) = r#type {
300        local_var_req_builder = local_var_req_builder.query(&[("type", &local_var_str.to_string())]);
301    }
302    if let Some(ref local_var_str) = q {
303        local_var_req_builder = local_var_req_builder.query(&[("q", &local_var_str.to_string())]);
304    }
305    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
306        let local_var_key = local_var_apikey.key.clone();
307        let local_var_value = match local_var_apikey.prefix {
308            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
309            None => local_var_key,
310        };
311        local_var_req_builder = local_var_req_builder.query(&[("access_token", local_var_value)]);
312    }
313    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
314        let local_var_key = local_var_apikey.key.clone();
315        let local_var_value = match local_var_apikey.prefix {
316            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
317            None => local_var_key,
318        };
319        local_var_req_builder = local_var_req_builder.query(&[("sudo", local_var_value)]);
320    }
321    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
322        let local_var_key = local_var_apikey.key.clone();
323        let local_var_value = match local_var_apikey.prefix {
324            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
325            None => local_var_key,
326        };
327        local_var_req_builder = local_var_req_builder.query(&[("token", local_var_value)]);
328    }
329    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
330        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
331    }
332    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
333        let local_var_key = local_var_apikey.key.clone();
334        let local_var_value = match local_var_apikey.prefix {
335            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
336            None => local_var_key,
337        };
338        local_var_req_builder = local_var_req_builder.header("X-GITEA-OTP", local_var_value);
339    };
340    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
341        let local_var_key = local_var_apikey.key.clone();
342        let local_var_value = match local_var_apikey.prefix {
343            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
344            None => local_var_key,
345        };
346        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
347    };
348    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
349        let local_var_key = local_var_apikey.key.clone();
350        let local_var_value = match local_var_apikey.prefix {
351            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
352            None => local_var_key,
353        };
354        local_var_req_builder = local_var_req_builder.header("Sudo", local_var_value);
355    };
356    if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
357        local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
358    };
359
360    let local_var_req = local_var_req_builder.build()?;
361    let local_var_resp = local_var_client.execute(local_var_req).await?;
362
363    let local_var_status = local_var_resp.status();
364    let local_var_content = local_var_resp.text().await?;
365
366    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
367        serde_json::from_str(&local_var_content).map_err(Error::from)
368    } else {
369        let local_var_entity: Option<ListPackagesError> = serde_json::from_str(&local_var_content).ok();
370        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
371        Err(Error::ResponseError(local_var_error))
372    }
373}
374