@smbcloud / cli / commits / ab0b42a

add frontend apps endpoint

keypair34 committed Apr 4, 2026 at 19:15 UTC ab0b42a3f4d1266495a79ea803133e4b0823b325
3 files changed +32
crates/smbcloud-networking-project/src/crud_frontend_app_read.rs new
+25
@@ -0,0 +1,25 @@
1 +use {
2 + crate::url_builder::build_frontend_apps_url,
3 + reqwest::Client,
4 + smbcloud_model::{error_codes::ErrorResponse, frontend_app::FrontendApp},
5 + smbcloud_network::{environment::Environment, network::request},
6 + smbcloud_networking::{constants::SMB_USER_AGENT, smb_client::SmbClient},
7 +};
8 +
9 +pub async fn get_frontend_apps_by_project(
10 + env: Environment,
11 + client: (&SmbClient, &str),
12 + access_token: String,
13 + project_id: i32,
14 +) -> Result<Vec<FrontendApp>, ErrorResponse> {
15 + let url = format!(
16 + "{}?project_id={}",
17 + build_frontend_apps_url(env, client),
18 + project_id
19 + );
20 + let builder = Client::new()
21 + .get(url)
22 + .header("Authorization", access_token)
23 + .header("User-agent", SMB_USER_AGENT);
24 + request(builder).await
25 +}
crates/smbcloud-networking-project/src/lib.rs
+1
@@ -1,3 +1,4 @@
1 +pub mod crud_frontend_app_read;
2 pub mod crud_project_create;
3 pub mod crud_project_delete;
4 pub mod crud_project_deployment_create;
crates/smbcloud-networking-project/src/url_builder.rs
+6
@@ -3,6 +3,12 @@ use {
3 smbcloud_networking::{smb_base_url_builder, smb_client::SmbClient},
4 };
5
6 +pub(crate) fn build_frontend_apps_url(env: Environment, client: (&SmbClient, &str)) -> String {
7 + let mut url_builder = smb_base_url_builder(env, client);
8 + url_builder.add_route("v1/frontend_apps");
9 + url_builder.build()
10 +}
11 +
12 // Private functions
13
14 pub(crate) fn build_project_url(env: Environment, client: (&SmbClient, &str)) -> String {