1 use crate::url_builder::{build_project_deployment, build_project_deployment_index};
2 use anyhow::Result;
3 use reqwest::Client;
4 use smbcloud_model::{error_codes::ErrorResponse, project::Deployment};
5 use smbcloud_network::{environment::Environment, network::request};
6 use smbcloud_networking::constants::SMB_USER_AGENT;
7
8 pub async fn get_deployments(
9 env: Environment,
10 access_token: String,
11 project_id: i32,
12 ) -> Result<Vec<Deployment>, ErrorResponse> {
13 let builder = Client::new()
14 .get(build_project_deployment_index(env, project_id.to_string()))
15 .header("Authorization", access_token)
16 .header("User-agent", SMB_USER_AGENT);
17 request(builder).await
18 }
19
20 pub async fn get_deployment(
21 env: Environment,
22 access_token: String,
23 project_id: i32,
24 deployment_id: i32,
25 ) -> Result<Deployment, ErrorResponse> {
26 let builder = Client::new()
27 .get(build_project_deployment(
28 env,
29 project_id.to_string(),
30 deployment_id.to_string(),
31 ))
32 .header("Authorization", access_token)
33 .header("User-agent", SMB_USER_AGENT);
34 request(builder).await
35 }