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<models::WebAuthnLoginAssertionOptionsResponseModel, Error>;
33
34    /// POST /accounts/prelogin/password
35    async fn post_password_prelogin<'a>(
36        &self,
37        password_prelogin_request_model: Option<models::PasswordPreloginRequestModel>,
38    ) -> Result<models::PasswordPreloginResponseModel, Error>;
39
40    /// POST /accounts/register/finish
41    async fn post_register_finish<'a>(
42        &self,
43        register_finish_request_model: Option<models::RegisterFinishRequestModel>,
44    ) -> Result<models::RegisterFinishResponseModel, Error>;
45
46    /// POST /accounts/register/send-verification-email
47    async fn post_register_send_verification_email<'a>(
48        &self,
49        register_send_verification_email_request_model: Option<
50            models::RegisterSendVerificationEmailRequestModel,
51        >,
52    ) -> Result<(), Error>;
53
54    /// POST /accounts/register/verification-email-clicked
55    async fn post_register_verification_email_clicked<'a>(
56        &self,
57        register_verification_email_clicked_request_model: Option<
58            models::RegisterVerificationEmailClickedRequestModel,
59        >,
60    ) -> Result<(), Error>;
61
62    /// POST /accounts/trial/send-verification-email
63    async fn post_trial_initiation_send_verification_email<'a>(
64        &self,
65        trial_send_verification_email_request_model: Option<
66            models::TrialSendVerificationEmailRequestModel,
67        >,
68    ) -> Result<(), Error>;
69}
70
71pub struct AccountsApiClient {
72    configuration: Arc<configuration::Configuration>,
73}
74
75impl AccountsApiClient {
76    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
77        Self { configuration }
78    }
79}
80
81#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
82#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
83impl AccountsApi for AccountsApiClient {
84    async fn get_web_authn_login_assertion_options(
85        &self,
86    ) -> Result<models::WebAuthnLoginAssertionOptionsResponseModel, Error> {
87        let local_var_configuration = &self.configuration;
88
89        let local_var_client = &local_var_configuration.client;
90
91        let local_var_uri_str = format!(
92            "{}/accounts/webauthn/assertion-options",
93            local_var_configuration.base_path
94        );
95        let mut local_var_req_builder =
96            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
97
98        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
99    }
100
101    async fn post_password_prelogin<'a>(
102        &self,
103        password_prelogin_request_model: Option<models::PasswordPreloginRequestModel>,
104    ) -> Result<models::PasswordPreloginResponseModel, Error> {
105        let local_var_configuration = &self.configuration;
106
107        let local_var_client = &local_var_configuration.client;
108
109        let local_var_uri_str = format!(
110            "{}/accounts/prelogin/password",
111            local_var_configuration.base_path
112        );
113        let mut local_var_req_builder =
114            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
115
116        local_var_req_builder = local_var_req_builder.json(&password_prelogin_request_model);
117
118        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
119    }
120
121    async fn post_register_finish<'a>(
122        &self,
123        register_finish_request_model: Option<models::RegisterFinishRequestModel>,
124    ) -> Result<models::RegisterFinishResponseModel, Error> {
125        let local_var_configuration = &self.configuration;
126
127        let local_var_client = &local_var_configuration.client;
128
129        let local_var_uri_str = format!(
130            "{}/accounts/register/finish",
131            local_var_configuration.base_path
132        );
133        let mut local_var_req_builder =
134            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
135
136        local_var_req_builder = local_var_req_builder.json(&register_finish_request_model);
137
138        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
139    }
140
141    async fn post_register_send_verification_email<'a>(
142        &self,
143        register_send_verification_email_request_model: Option<
144            models::RegisterSendVerificationEmailRequestModel,
145        >,
146    ) -> Result<(), Error> {
147        let local_var_configuration = &self.configuration;
148
149        let local_var_client = &local_var_configuration.client;
150
151        let local_var_uri_str = format!(
152            "{}/accounts/register/send-verification-email",
153            local_var_configuration.base_path
154        );
155        let mut local_var_req_builder =
156            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
157
158        local_var_req_builder =
159            local_var_req_builder.json(&register_send_verification_email_request_model);
160
161        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
162    }
163
164    async fn post_register_verification_email_clicked<'a>(
165        &self,
166        register_verification_email_clicked_request_model: Option<
167            models::RegisterVerificationEmailClickedRequestModel,
168        >,
169    ) -> Result<(), Error> {
170        let local_var_configuration = &self.configuration;
171
172        let local_var_client = &local_var_configuration.client;
173
174        let local_var_uri_str = format!(
175            "{}/accounts/register/verification-email-clicked",
176            local_var_configuration.base_path
177        );
178        let mut local_var_req_builder =
179            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
180
181        local_var_req_builder =
182            local_var_req_builder.json(&register_verification_email_clicked_request_model);
183
184        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
185    }
186
187    async fn post_trial_initiation_send_verification_email<'a>(
188        &self,
189        trial_send_verification_email_request_model: Option<
190            models::TrialSendVerificationEmailRequestModel,
191        >,
192    ) -> Result<(), Error> {
193        let local_var_configuration = &self.configuration;
194
195        let local_var_client = &local_var_configuration.client;
196
197        let local_var_uri_str = format!(
198            "{}/accounts/trial/send-verification-email",
199            local_var_configuration.base_path
200        );
201        let mut local_var_req_builder =
202            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
203
204        local_var_req_builder =
205            local_var_req_builder.json(&trial_send_verification_email_request_model);
206
207        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
208    }
209}