use {
crate::client_credentials::{ClientCredentials, base_url_builder as tenant_base_url_builder},
reqwest::Client,
smbcloud_model::{
error_codes::ErrorResponse,
forgot::{Args, Email},
reset_password_response::ResetPasswordResponse,
},
smbcloud_network::{environment::Environment, network::request},
};
pub async fn reset_password_with_client(
env: Environment,
client: ClientCredentials<'_>,
email: String,
) -> Result<ResetPasswordResponse, ErrorResponse> {
let params = Args {
user: Email { email },
};
let builder = Client::new()
.post(build_reset_password_url(env, client))
.json(¶ms)
.header("User-agent", client.app_id);
request(builder).await
}
fn build_reset_password_url(env: Environment, client: ClientCredentials<'_>) -> String {
let mut url_builder = tenant_base_url_builder(env, client);
url_builder.add_route("v1/client/users/reset_password");
url_builder.build()
}