1use reqwest;
13use serde::{Deserialize, Serialize};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
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 GetPackageError {
30 Status404(),
31 UnknownValue(serde_json::Value),
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum ListPackageFilesError {
38 Status404(),
39 UnknownValue(serde_json::Value),
40}
41
42#[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