1 use {
2 crate::client_credentials::{ClientCredentials, base_url_builder as tenant_base_url_builder},
3 reqwest::Client,
4 smbcloud_model::{account::User, error_codes::ErrorResponse},
5 smbcloud_network::{environment::Environment, network::request},
6 };
7
8 pub async fn me_with_client(
9 env: Environment,
10 client: ClientCredentials<'_>,
11 access_token: &str,
12 ) -> Result<User, ErrorResponse> {
13 let builder = Client::new()
14 .get(build_me_url(env, client))
15 .header("Authorization", access_token)
16 .header("Accept", "application/json")
17 .header("Content-Type", "application/x-www-form-urlencoded");
18 request(builder).await
19 }
20
21 fn build_me_url(env: Environment, client: ClientCredentials<'_>) -> String {
22 let mut url_builder = tenant_base_url_builder(env, client);
23 url_builder.add_route("v1/client/me");
24 url_builder.build()
25 }