1#![allow(missing_docs, trivial_casts, unused_variables, unused_mut, unused_imports, unused_extern_crates, non_camel_case_types)]
2#![allow(unused_imports, unused_attributes)]
3#![allow(clippy::derive_partial_eq_without_eq, clippy::disallowed_names)]
4
5use async_trait::async_trait;
6use axum::extract::*;
7use axum_extra::extract::{CookieJar, Multipart};
8use bytes::Bytes;
9use http::Method;
10use serde::{Deserialize, Serialize};
11
12use types::*;
13
14pub const BASE_PATH: &str = "";
15pub const API_VERSION: &str = "0.5.0";
16
17 #[derive(Debug, PartialEq, Serialize, Deserialize)]
18#[must_use]
19#[allow(clippy::large_enum_variant)]
20pub enum AuthPasswordResponse {
21 Status200_ResponseIsTheFullHTTPAuthenticationResponse
23 (std::collections::HashMap<String, models::BinaryMetadataValue>)
24}
25
26 #[derive(Debug, PartialEq, Serialize, Deserialize)]
27#[must_use]
28#[allow(clippy::large_enum_variant)]
29pub enum AuthPubKeyResponse {
30 Status200_ResponseIsTheFullHTTPAuthenticationResponse
32 (std::collections::HashMap<String, models::BinaryMetadataValue>)
33}
34
35 #[derive(Debug, PartialEq, Serialize, Deserialize)]
36#[must_use]
37#[allow(clippy::large_enum_variant)]
38pub enum AuthzResponse {
39 Status200_ResponseIsTheFullHTTPAuthenticationResponse
41 (std::collections::HashMap<String, models::BinaryMetadataValue>)
42}
43
44 #[derive(Debug, PartialEq, Serialize, Deserialize)]
45#[must_use]
46#[allow(clippy::large_enum_variant)]
47pub enum GetUserConfigurationResponse {
48 Status200_ResponseIsTheEntireResponseFromTheConfigServer
50 (models::ConfigResponseBody)
51}
52
53
54#[async_trait]
56#[allow(clippy::ptr_arg)]
57pub trait Api {
58
59 async fn auth_password(
61 &self,
62 method: Method,
63 host: Host,
64 cookies: CookieJar,
65 body: models::PasswordAuthRequest,
66 ) -> Result<AuthPasswordResponse, String>;
67
68
69 async fn auth_pub_key(
71 &self,
72 method: Method,
73 host: Host,
74 cookies: CookieJar,
75 body: models::PublicKeyAuthRequest,
76 ) -> Result<AuthPubKeyResponse, String>;
77
78
79 async fn authz(
81 &self,
82 method: Method,
83 host: Host,
84 cookies: CookieJar,
85 body: models::AuthorizationRequest,
86 ) -> Result<AuthzResponse, String>;
87
88
89 async fn get_user_configuration(
91 &self,
92 method: Method,
93 host: Host,
94 cookies: CookieJar,
95 body: Option<models::ConfigRequest>,
96 ) -> Result<GetUserConfigurationResponse, String>;
97
98}
99
100#[cfg(feature = "server")]
101pub mod server;
102
103pub mod models;
104pub mod types;
105
106#[cfg(feature = "server")]
107pub(crate) mod header;