1 use anyhow::Result;
2 use reqwest::Client;
3 use smbcloud_model::{
4 error_codes::ErrorResponse,
5 project::{Deployment, DeploymentPayload},
6 };
7 use smbcloud_network::{environment::Environment, network::request};
8 use smbcloud_networking::constants::SMB_USER_AGENT;
9
10 use crate::url_builder::build_project_deployment;
11
12 pub async fn update(
13 env: Environment,
14 access_token: String,
15 project_id: i32,
16 deployment_id: i32,
17 status: DeploymentPayload,
18 ) -> Result<Deployment, ErrorResponse> {
19 let url = build_project_deployment(env, project_id.to_string(), deployment_id.to_string());
20 let builder = Client::new()
21 .put(url)
22 .json(&status)
23 .header("Authorization", access_token)
24 .header("User-agent", SMB_USER_AGENT);
25 request(builder).await
26 }