1 use crate::url_builder::{build_project_url, build_project_url_with_id};
2 use reqwest::Client;
3 use smbcloud_model::{error_codes::ErrorResponse, project::Project};
4 use smbcloud_networking::{constants::SMB_USER_AGENT, environment::Environment, network::request};
5
6 pub async fn get_project(
7 env: Environment,
8 access_token: String,
9 id: String,
10 ) -> Result<Project, ErrorResponse> {
11 let builder: reqwest::RequestBuilder = Client::new()
12 .get(build_project_url_with_id(env, id))
13 .header("Authorization", access_token)
14 .header("User-agent", SMB_USER_AGENT);
15 request(builder).await
16 }
17
18 pub async fn get_projects(
19 env: Environment,
20 access_token: String,
21 ) -> Result<Vec<Project>, ErrorResponse> {
22 let builder = Client::new()
23 .get(build_project_url(env))
24 .header("Authorization", access_token)
25 .header("User-agent", SMB_USER_AGENT);
26 request(builder).await
27 }