1 use {
2 reqwest::Client,
3 smbcloud_model::{account::SmbAuthorization, error_codes::ErrorResponse},
4 smbcloud_network::{environment::Environment, network::request},
5 smbcloud_networking::{
6 constants::PATH_USERS_CHECK_EMAIL, smb_base_url_builder, smb_client::SmbClient,
7 },
8 };
9
10 pub async fn check_email(
11 env: Environment,
12 client: (&SmbClient, &str),
13 email: &str,
14 ) -> Result<SmbAuthorization, ErrorResponse> {
15 let builder = Client::new()
16 .get(build_url(env, client, email))
17 .header("Accept", "application/json")
18 .header("Content-Type", "application/x-www-form-urlencoded");
19 request(builder).await
20 }
21
22 fn build_url(env: Environment, client: (&SmbClient, &str), email: &str) -> String {
23 let mut url_builder = smb_base_url_builder(env, client);
24 url_builder.add_route(PATH_USERS_CHECK_EMAIL);
25 url_builder.add_param("email", email);
26 url_builder.build()
27 }