bitwarden_api_identity/apis/
accounts_api.rs1use 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 async fn get_web_authn_login_assertion_options(
31 &self,
32 ) -> Result<
33 models::WebAuthnLoginAssertionOptionsResponseModel,
34 Error<GetWebAuthnLoginAssertionOptionsError>,
35 >;
36
37 async fn post_password_prelogin<'a>(
39 &self,
40 password_prelogin_request_model: Option<models::PasswordPreloginRequestModel>,
41 ) -> Result<models::PasswordPreloginResponseModel, Error<PostPasswordPreloginError>>;
42
43 async fn post_register_finish<'a>(
45 &self,
46 register_finish_request_model: Option<models::RegisterFinishRequestModel>,
47 ) -> Result<models::RegisterFinishResponseModel, Error<PostRegisterFinishError>>;
48
49 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 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 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(®ister_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(®ister_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(®ister_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#[derive(Debug, Clone, Serialize, Deserialize)]
219#[serde(untagged)]
220pub enum GetWebAuthnLoginAssertionOptionsError {
221 UnknownValue(serde_json::Value),
222}
223#[derive(Debug, Clone, Serialize, Deserialize)]
225#[serde(untagged)]
226pub enum PostPasswordPreloginError {
227 UnknownValue(serde_json::Value),
228}
229#[derive(Debug, Clone, Serialize, Deserialize)]
231#[serde(untagged)]
232pub enum PostRegisterFinishError {
233 UnknownValue(serde_json::Value),
234}
235#[derive(Debug, Clone, Serialize, Deserialize)]
237#[serde(untagged)]
238pub enum PostRegisterSendVerificationEmailError {
239 UnknownValue(serde_json::Value),
240}
241#[derive(Debug, Clone, Serialize, Deserialize)]
243#[serde(untagged)]
244pub enum PostRegisterVerificationEmailClickedError {
245 UnknownValue(serde_json::Value),
246}
247#[derive(Debug, Clone, Serialize, Deserialize)]
249#[serde(untagged)]
250pub enum PostTrialInitiationSendVerificationEmailError {
251 UnknownValue(serde_json::Value),
252}