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