1 use anyhow::Result;
2 use reqwest::Client;
3 use smbcloud_model::{
4 error_codes::ErrorResponse,
5 project::{Project, ProjectCreate},
6 };
7 use smbcloud_networking::{constants::SMB_USER_AGENT, environment::Environment, network::request};
8
9 use crate::url_builder::build_project_url;
10
11 pub async fn create_project(
12 env: Environment,
13 access_token: String,
14 project: ProjectCreate,
15 ) -> Result<Project, ErrorResponse> {
16 let builder = Client::new()
17 .post(build_project_url(env))
18 .json(&project)
19 .header("Authorization", access_token)
20 .header("User-agent", SMB_USER_AGENT);
21 request(builder).await
22 }