authentik_rust/apis/
admin_api.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2024.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`admin_apps_list`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AdminAppsListError {
22    Status400(models::ValidationError),
23    Status403(models::GenericError),
24    UnknownValue(serde_json::Value),
25}
26
27/// struct for typed errors of method [`admin_metrics_retrieve`]
28#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum AdminMetricsRetrieveError {
31    Status400(models::ValidationError),
32    Status403(models::GenericError),
33    UnknownValue(serde_json::Value),
34}
35
36/// struct for typed errors of method [`admin_models_list`]
37#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(untagged)]
39pub enum AdminModelsListError {
40    Status400(models::ValidationError),
41    Status403(models::GenericError),
42    UnknownValue(serde_json::Value),
43}
44
45/// struct for typed errors of method [`admin_settings_partial_update`]
46#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum AdminSettingsPartialUpdateError {
49    Status400(models::ValidationError),
50    Status403(models::GenericError),
51    UnknownValue(serde_json::Value),
52}
53
54/// struct for typed errors of method [`admin_settings_retrieve`]
55#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(untagged)]
57pub enum AdminSettingsRetrieveError {
58    Status400(models::ValidationError),
59    Status403(models::GenericError),
60    UnknownValue(serde_json::Value),
61}
62
63/// struct for typed errors of method [`admin_settings_update`]
64#[derive(Debug, Clone, Serialize, Deserialize)]
65#[serde(untagged)]
66pub enum AdminSettingsUpdateError {
67    Status400(models::ValidationError),
68    Status403(models::GenericError),
69    UnknownValue(serde_json::Value),
70}
71
72/// struct for typed errors of method [`admin_system_create`]
73#[derive(Debug, Clone, Serialize, Deserialize)]
74#[serde(untagged)]
75pub enum AdminSystemCreateError {
76    Status400(models::ValidationError),
77    Status403(models::GenericError),
78    UnknownValue(serde_json::Value),
79}
80
81/// struct for typed errors of method [`admin_system_retrieve`]
82#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum AdminSystemRetrieveError {
85    Status400(models::ValidationError),
86    Status403(models::GenericError),
87    UnknownValue(serde_json::Value),
88}
89
90/// struct for typed errors of method [`admin_version_retrieve`]
91#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum AdminVersionRetrieveError {
94    Status400(models::ValidationError),
95    Status403(models::GenericError),
96    UnknownValue(serde_json::Value),
97}
98
99/// struct for typed errors of method [`admin_workers_retrieve`]
100#[derive(Debug, Clone, Serialize, Deserialize)]
101#[serde(untagged)]
102pub enum AdminWorkersRetrieveError {
103    Status400(models::ValidationError),
104    Status403(models::GenericError),
105    UnknownValue(serde_json::Value),
106}
107
108
109/// Read-only view list all installed apps
110pub async fn admin_apps_list(configuration: &configuration::Configuration, ) -> Result<Vec<models::App>, Error<AdminAppsListError>> {
111    let local_var_configuration = configuration;
112
113    let local_var_client = &local_var_configuration.client;
114
115    let local_var_uri_str = format!("{}/admin/apps/", local_var_configuration.base_path);
116    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
117
118    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
119        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
120    }
121    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
122        let local_var_key = local_var_apikey.key.clone();
123        let local_var_value = match local_var_apikey.prefix {
124            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
125            None => local_var_key,
126        };
127        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
128    };
129
130    let local_var_req = local_var_req_builder.build()?;
131    let local_var_resp = local_var_client.execute(local_var_req).await?;
132
133    let local_var_status = local_var_resp.status();
134    let local_var_content = local_var_resp.text().await?;
135
136    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
137        serde_json::from_str(&local_var_content).map_err(Error::from)
138    } else {
139        let local_var_entity: Option<AdminAppsListError> = serde_json::from_str(&local_var_content).ok();
140        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
141        Err(Error::ResponseError(local_var_error))
142    }
143}
144
145/// Login Metrics per 1h
146pub async fn admin_metrics_retrieve(configuration: &configuration::Configuration, ) -> Result<models::LoginMetrics, Error<AdminMetricsRetrieveError>> {
147    let local_var_configuration = configuration;
148
149    let local_var_client = &local_var_configuration.client;
150
151    let local_var_uri_str = format!("{}/admin/metrics/", local_var_configuration.base_path);
152    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
153
154    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
155        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
156    }
157    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
158        let local_var_key = local_var_apikey.key.clone();
159        let local_var_value = match local_var_apikey.prefix {
160            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
161            None => local_var_key,
162        };
163        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
164    };
165
166    let local_var_req = local_var_req_builder.build()?;
167    let local_var_resp = local_var_client.execute(local_var_req).await?;
168
169    let local_var_status = local_var_resp.status();
170    let local_var_content = local_var_resp.text().await?;
171
172    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
173        serde_json::from_str(&local_var_content).map_err(Error::from)
174    } else {
175        let local_var_entity: Option<AdminMetricsRetrieveError> = serde_json::from_str(&local_var_content).ok();
176        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
177        Err(Error::ResponseError(local_var_error))
178    }
179}
180
181/// Read-only view list all installed models
182pub async fn admin_models_list(configuration: &configuration::Configuration, ) -> Result<Vec<models::App>, Error<AdminModelsListError>> {
183    let local_var_configuration = configuration;
184
185    let local_var_client = &local_var_configuration.client;
186
187    let local_var_uri_str = format!("{}/admin/models/", local_var_configuration.base_path);
188    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
189
190    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
191        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
192    }
193    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
194        let local_var_key = local_var_apikey.key.clone();
195        let local_var_value = match local_var_apikey.prefix {
196            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
197            None => local_var_key,
198        };
199        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
200    };
201
202    let local_var_req = local_var_req_builder.build()?;
203    let local_var_resp = local_var_client.execute(local_var_req).await?;
204
205    let local_var_status = local_var_resp.status();
206    let local_var_content = local_var_resp.text().await?;
207
208    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
209        serde_json::from_str(&local_var_content).map_err(Error::from)
210    } else {
211        let local_var_entity: Option<AdminModelsListError> = serde_json::from_str(&local_var_content).ok();
212        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
213        Err(Error::ResponseError(local_var_error))
214    }
215}
216
217/// Settings view
218pub async fn admin_settings_partial_update(configuration: &configuration::Configuration, patched_settings_request: Option<models::PatchedSettingsRequest>) -> Result<models::Settings, Error<AdminSettingsPartialUpdateError>> {
219    let local_var_configuration = configuration;
220
221    let local_var_client = &local_var_configuration.client;
222
223    let local_var_uri_str = format!("{}/admin/settings/", local_var_configuration.base_path);
224    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
225
226    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
227        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
228    }
229    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
230        let local_var_key = local_var_apikey.key.clone();
231        let local_var_value = match local_var_apikey.prefix {
232            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
233            None => local_var_key,
234        };
235        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
236    };
237    local_var_req_builder = local_var_req_builder.json(&patched_settings_request);
238
239    let local_var_req = local_var_req_builder.build()?;
240    let local_var_resp = local_var_client.execute(local_var_req).await?;
241
242    let local_var_status = local_var_resp.status();
243    let local_var_content = local_var_resp.text().await?;
244
245    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
246        serde_json::from_str(&local_var_content).map_err(Error::from)
247    } else {
248        let local_var_entity: Option<AdminSettingsPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
249        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
250        Err(Error::ResponseError(local_var_error))
251    }
252}
253
254/// Settings view
255pub async fn admin_settings_retrieve(configuration: &configuration::Configuration, ) -> Result<models::Settings, Error<AdminSettingsRetrieveError>> {
256    let local_var_configuration = configuration;
257
258    let local_var_client = &local_var_configuration.client;
259
260    let local_var_uri_str = format!("{}/admin/settings/", local_var_configuration.base_path);
261    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
262
263    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
264        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
265    }
266    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
267        let local_var_key = local_var_apikey.key.clone();
268        let local_var_value = match local_var_apikey.prefix {
269            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
270            None => local_var_key,
271        };
272        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
273    };
274
275    let local_var_req = local_var_req_builder.build()?;
276    let local_var_resp = local_var_client.execute(local_var_req).await?;
277
278    let local_var_status = local_var_resp.status();
279    let local_var_content = local_var_resp.text().await?;
280
281    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
282        serde_json::from_str(&local_var_content).map_err(Error::from)
283    } else {
284        let local_var_entity: Option<AdminSettingsRetrieveError> = serde_json::from_str(&local_var_content).ok();
285        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
286        Err(Error::ResponseError(local_var_error))
287    }
288}
289
290/// Settings view
291pub async fn admin_settings_update(configuration: &configuration::Configuration, settings_request: Option<models::SettingsRequest>) -> Result<models::Settings, Error<AdminSettingsUpdateError>> {
292    let local_var_configuration = configuration;
293
294    let local_var_client = &local_var_configuration.client;
295
296    let local_var_uri_str = format!("{}/admin/settings/", local_var_configuration.base_path);
297    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
298
299    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
300        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
301    }
302    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
303        let local_var_key = local_var_apikey.key.clone();
304        let local_var_value = match local_var_apikey.prefix {
305            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
306            None => local_var_key,
307        };
308        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
309    };
310    local_var_req_builder = local_var_req_builder.json(&settings_request);
311
312    let local_var_req = local_var_req_builder.build()?;
313    let local_var_resp = local_var_client.execute(local_var_req).await?;
314
315    let local_var_status = local_var_resp.status();
316    let local_var_content = local_var_resp.text().await?;
317
318    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
319        serde_json::from_str(&local_var_content).map_err(Error::from)
320    } else {
321        let local_var_entity: Option<AdminSettingsUpdateError> = serde_json::from_str(&local_var_content).ok();
322        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
323        Err(Error::ResponseError(local_var_error))
324    }
325}
326
327/// Get system information.
328pub async fn admin_system_create(configuration: &configuration::Configuration, ) -> Result<models::SystemInfo, Error<AdminSystemCreateError>> {
329    let local_var_configuration = configuration;
330
331    let local_var_client = &local_var_configuration.client;
332
333    let local_var_uri_str = format!("{}/admin/system/", local_var_configuration.base_path);
334    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
335
336    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
337        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
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
348    let local_var_req = local_var_req_builder.build()?;
349    let local_var_resp = local_var_client.execute(local_var_req).await?;
350
351    let local_var_status = local_var_resp.status();
352    let local_var_content = local_var_resp.text().await?;
353
354    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
355        serde_json::from_str(&local_var_content).map_err(Error::from)
356    } else {
357        let local_var_entity: Option<AdminSystemCreateError> = serde_json::from_str(&local_var_content).ok();
358        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
359        Err(Error::ResponseError(local_var_error))
360    }
361}
362
363/// Get system information.
364pub async fn admin_system_retrieve(configuration: &configuration::Configuration, ) -> Result<models::SystemInfo, Error<AdminSystemRetrieveError>> {
365    let local_var_configuration = configuration;
366
367    let local_var_client = &local_var_configuration.client;
368
369    let local_var_uri_str = format!("{}/admin/system/", local_var_configuration.base_path);
370    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
371
372    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
373        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
374    }
375    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
376        let local_var_key = local_var_apikey.key.clone();
377        let local_var_value = match local_var_apikey.prefix {
378            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
379            None => local_var_key,
380        };
381        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
382    };
383
384    let local_var_req = local_var_req_builder.build()?;
385    let local_var_resp = local_var_client.execute(local_var_req).await?;
386
387    let local_var_status = local_var_resp.status();
388    let local_var_content = local_var_resp.text().await?;
389
390    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
391        serde_json::from_str(&local_var_content).map_err(Error::from)
392    } else {
393        let local_var_entity: Option<AdminSystemRetrieveError> = serde_json::from_str(&local_var_content).ok();
394        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
395        Err(Error::ResponseError(local_var_error))
396    }
397}
398
399/// Get running and latest version.
400pub async fn admin_version_retrieve(configuration: &configuration::Configuration, ) -> Result<models::Version, Error<AdminVersionRetrieveError>> {
401    let local_var_configuration = configuration;
402
403    let local_var_client = &local_var_configuration.client;
404
405    let local_var_uri_str = format!("{}/admin/version/", local_var_configuration.base_path);
406    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
407
408    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
409        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
410    }
411    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
412        let local_var_key = local_var_apikey.key.clone();
413        let local_var_value = match local_var_apikey.prefix {
414            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
415            None => local_var_key,
416        };
417        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
418    };
419
420    let local_var_req = local_var_req_builder.build()?;
421    let local_var_resp = local_var_client.execute(local_var_req).await?;
422
423    let local_var_status = local_var_resp.status();
424    let local_var_content = local_var_resp.text().await?;
425
426    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
427        serde_json::from_str(&local_var_content).map_err(Error::from)
428    } else {
429        let local_var_entity: Option<AdminVersionRetrieveError> = serde_json::from_str(&local_var_content).ok();
430        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
431        Err(Error::ResponseError(local_var_error))
432    }
433}
434
435/// Get currently connected worker count.
436pub async fn admin_workers_retrieve(configuration: &configuration::Configuration, ) -> Result<models::Workers, Error<AdminWorkersRetrieveError>> {
437    let local_var_configuration = configuration;
438
439    let local_var_client = &local_var_configuration.client;
440
441    let local_var_uri_str = format!("{}/admin/workers/", local_var_configuration.base_path);
442    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
443
444    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
445        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
446    }
447    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
448        let local_var_key = local_var_apikey.key.clone();
449        let local_var_value = match local_var_apikey.prefix {
450            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
451            None => local_var_key,
452        };
453        local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
454    };
455
456    let local_var_req = local_var_req_builder.build()?;
457    let local_var_resp = local_var_client.execute(local_var_req).await?;
458
459    let local_var_status = local_var_resp.status();
460    let local_var_content = local_var_resp.text().await?;
461
462    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
463        serde_json::from_str(&local_var_content).map_err(Error::from)
464    } else {
465        let local_var_entity: Option<AdminWorkersRetrieveError> = serde_json::from_str(&local_var_content).ok();
466        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
467        Err(Error::ResponseError(local_var_error))
468    }
469}
470