1use reqwest;
13
14use crate::apis::ResponseContent;
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 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