Skip to main content

smbcloud_auth/
remove.rs

1use {
2    crate::client_credentials::{ClientCredentials, base_url_builder as tenant_base_url_builder},
3    reqwest::Client,
4    smbcloud_model::error_codes::ErrorResponse,
5    smbcloud_network::{environment::Environment, network::request},
6    smbcloud_networking::{constants::PATH_USERS, smb_base_url_builder, smb_client::SmbClient},
7};
8
9pub async fn remove(
10    env: Environment,
11    client: (&SmbClient, &str),
12    access_token: &str,
13) -> Result<(), ErrorResponse> {
14    let builder = Client::new()
15        .delete(build_smb_signup_url(env, client))
16        .header("Authorization", access_token)
17        .header("User-agent", client.0.id());
18    request(builder).await
19}
20
21pub async fn remove_with_client(
22    env: Environment,
23    client: ClientCredentials<'_>,
24    access_token: &str,
25) -> Result<(), ErrorResponse> {
26    let builder = Client::new()
27        .delete(build_remove_url_with_client(env, client))
28        .header("Authorization", access_token)
29        .header("User-agent", client.app_id);
30    request(builder).await
31}
32
33fn build_smb_signup_url(env: Environment, client: (&SmbClient, &str)) -> String {
34    let mut url_builder = smb_base_url_builder(env, client);
35    url_builder.add_route(PATH_USERS);
36    url_builder.build()
37}
38
39fn build_remove_url_with_client(env: Environment, client: ClientCredentials<'_>) -> String {
40    let mut url_builder = tenant_base_url_builder(env, client);
41    url_builder.add_route("v1/client/me");
42    url_builder.build()
43}