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