Skip to main content

bitwarden_api_identity/apis/
accounts_api.rs

1/*
2 * Bitwarden Identity
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: v1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{AuthRequired, ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait AccountsApi: Send + Sync {
29    /// GET /accounts/webauthn/assertion-options
30    async fn get_web_authn_login_assertion_options(
31        &self,
32    ) -> Result<
33        models::WebAuthnLoginAssertionOptionsResponseModel,
34        Error<GetWebAuthnLoginAssertionOptionsError>,
35    >;
36
37    /// POST /accounts/prelogin/password
38    async fn post_password_prelogin<'a>(
39        &self,
40        password_prelogin_request_model: Option<models::PasswordPreloginRequestModel>,
41    ) -> Result<models::PasswordPreloginResponseModel, Error<PostPasswordPreloginError>>;
42
43    /// POST /accounts/register/finish
44    async fn post_register_finish<'a>(
45        &self,
46        register_finish_request_model: Option<models::RegisterFinishRequestModel>,
47    ) -> Result<models::RegisterFinishResponseModel, Error<PostRegisterFinishError>>;
48
49    /// POST /accounts/register/send-verification-email
50    async fn post_register_send_verification_email<'a>(
51        &self,
52        register_send_verification_email_request_model: Option<
53            models::RegisterSendVerificationEmailRequestModel,
54        >,
55    ) -> Result<(), Error<PostRegisterSendVerificationEmailError>>;
56
57    /// POST /accounts/register/verification-email-clicked
58    async fn post_register_verification_email_clicked<'a>(
59        &self,
60        register_verification_email_clicked_request_model: Option<
61            models::RegisterVerificationEmailClickedRequestModel,
62        >,
63    ) -> Result<(), Error<PostRegisterVerificationEmailClickedError>>;
64
65    /// POST /accounts/trial/send-verification-email
66    async fn post_trial_initiation_send_verification_email<'a>(
67        &self,
68        trial_send_verification_email_request_model: Option<
69            models::TrialSendVerificationEmailRequestModel,
70        >,
71    ) -> Result<(), Error<PostTrialInitiationSendVerificationEmailError>>;
72}
73
74pub struct AccountsApiClient {
75    configuration: Arc<configuration::Configuration>,
76}
77
78impl AccountsApiClient {
79    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
80        Self { configuration }
81    }
82}
83
84#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
85#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
86impl AccountsApi for AccountsApiClient {
87    async fn get_web_authn_login_assertion_options(
88        &self,
89    ) -> Result<
90        models::WebAuthnLoginAssertionOptionsResponseModel,
91        Error<GetWebAuthnLoginAssertionOptionsError>,
92    > {
93        let local_var_configuration = &self.configuration;
94
95        let local_var_client = &local_var_configuration.client;
96
97        let local_var_uri_str = format!(
98            "{}/accounts/webauthn/assertion-options",
99            local_var_configuration.base_path
100        );
101        let mut local_var_req_builder =
102            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
103
104        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
105    }
106
107    async fn post_password_prelogin<'a>(
108        &self,
109        password_prelogin_request_model: Option<models::PasswordPreloginRequestModel>,
110    ) -> Result<models::PasswordPreloginResponseModel, Error<PostPasswordPreloginError>> {
111        let local_var_configuration = &self.configuration;
112
113        let local_var_client = &local_var_configuration.client;
114
115        let local_var_uri_str = format!(
116            "{}/accounts/prelogin/password",
117            local_var_configuration.base_path
118        );
119        let mut local_var_req_builder =
120            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
121
122        local_var_req_builder = local_var_req_builder.json(&password_prelogin_request_model);
123
124        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
125    }
126
127    async fn post_register_finish<'a>(
128        &self,
129        register_finish_request_model: Option<models::RegisterFinishRequestModel>,
130    ) -> Result<models::RegisterFinishResponseModel, Error<PostRegisterFinishError>> {
131        let local_var_configuration = &self.configuration;
132
133        let local_var_client = &local_var_configuration.client;
134
135        let local_var_uri_str = format!(
136            "{}/accounts/register/finish",
137            local_var_configuration.base_path
138        );
139        let mut local_var_req_builder =
140            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
141
142        local_var_req_builder = local_var_req_builder.json(&register_finish_request_model);
143
144        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
145    }
146
147    async fn post_register_send_verification_email<'a>(
148        &self,
149        register_send_verification_email_request_model: Option<
150            models::RegisterSendVerificationEmailRequestModel,
151        >,
152    ) -> Result<(), Error<PostRegisterSendVerificationEmailError>> {
153        let local_var_configuration = &self.configuration;
154
155        let local_var_client = &local_var_configuration.client;
156
157        let local_var_uri_str = format!(
158            "{}/accounts/register/send-verification-email",
159            local_var_configuration.base_path
160        );
161        let mut local_var_req_builder =
162            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
163
164        local_var_req_builder =
165            local_var_req_builder.json(&register_send_verification_email_request_model);
166
167        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
168    }
169
170    async fn post_register_verification_email_clicked<'a>(
171        &self,
172        register_verification_email_clicked_request_model: Option<
173            models::RegisterVerificationEmailClickedRequestModel,
174        >,
175    ) -> Result<(), Error<PostRegisterVerificationEmailClickedError>> {
176        let local_var_configuration = &self.configuration;
177
178        let local_var_client = &local_var_configuration.client;
179
180        let local_var_uri_str = format!(
181            "{}/accounts/register/verification-email-clicked",
182            local_var_configuration.base_path
183        );
184        let mut local_var_req_builder =
185            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
186
187        local_var_req_builder =
188            local_var_req_builder.json(&register_verification_email_clicked_request_model);
189
190        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
191    }
192
193    async fn post_trial_initiation_send_verification_email<'a>(
194        &self,
195        trial_send_verification_email_request_model: Option<
196            models::TrialSendVerificationEmailRequestModel,
197        >,
198    ) -> Result<(), Error<PostTrialInitiationSendVerificationEmailError>> {
199        let local_var_configuration = &self.configuration;
200
201        let local_var_client = &local_var_configuration.client;
202
203        let local_var_uri_str = format!(
204            "{}/accounts/trial/send-verification-email",
205            local_var_configuration.base_path
206        );
207        let mut local_var_req_builder =
208            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
209
210        local_var_req_builder =
211            local_var_req_builder.json(&trial_send_verification_email_request_model);
212
213        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
214    }
215}
216
217/// struct for typed errors of method [`AccountsApi::get_web_authn_login_assertion_options`]
218#[derive(Debug, Clone, Serialize, Deserialize)]
219#[serde(untagged)]
220pub enum GetWebAuthnLoginAssertionOptionsError {
221    UnknownValue(serde_json::Value),
222}
223/// struct for typed errors of method [`AccountsApi::post_password_prelogin`]
224#[derive(Debug, Clone, Serialize, Deserialize)]
225#[serde(untagged)]
226pub enum PostPasswordPreloginError {
227    UnknownValue(serde_json::Value),
228}
229/// struct for typed errors of method [`AccountsApi::post_register_finish`]
230#[derive(Debug, Clone, Serialize, Deserialize)]
231#[serde(untagged)]
232pub enum PostRegisterFinishError {
233    UnknownValue(serde_json::Value),
234}
235/// struct for typed errors of method [`AccountsApi::post_register_send_verification_email`]
236#[derive(Debug, Clone, Serialize, Deserialize)]
237#[serde(untagged)]
238pub enum PostRegisterSendVerificationEmailError {
239    UnknownValue(serde_json::Value),
240}
241/// struct for typed errors of method [`AccountsApi::post_register_verification_email_clicked`]
242#[derive(Debug, Clone, Serialize, Deserialize)]
243#[serde(untagged)]
244pub enum PostRegisterVerificationEmailClickedError {
245    UnknownValue(serde_json::Value),
246}
247/// struct for typed errors of method [`AccountsApi::post_trial_initiation_send_verification_email`]
248#[derive(Debug, Clone, Serialize, Deserialize)]
249#[serde(untagged)]
250pub enum PostTrialInitiationSendVerificationEmailError {
251    UnknownValue(serde_json::Value),
252}