diff options
author | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-27 23:13:01 +0100 |
---|---|---|
committer | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-29 19:26:16 +0100 |
commit | c1eb1610bab4d0d689dae9389f3fc10c0ab0efdc (patch) | |
tree | 6dbcdbe1cad3426e2e4dc2db19cb68c98bb8dcb3 /src/api/admin/api_server.rs | |
parent | 5560a963e048f6bb000fc37b7e7ad73dbe96f3ab (diff) | |
download | garage-c1eb1610bab4d0d689dae9389f3fc10c0ab0efdc.tar.gz garage-c1eb1610bab4d0d689dae9389f3fc10c0ab0efdc.zip |
admin api: create structs for all requests/responess in src/api/admin/api.rs
Diffstat (limited to 'src/api/admin/api_server.rs')
-rw-r--r-- | src/api/admin/api_server.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/api/admin/api_server.rs b/src/api/admin/api_server.rs index 0e4565bb..9715292c 100644 --- a/src/api/admin/api_server.rs +++ b/src/api/admin/api_server.rs @@ -22,12 +22,14 @@ use garage_util::socket_address::UnixOrTCPSocketAddress; use crate::generic_server::*; +use crate::admin::api::*; use crate::admin::bucket::*; use crate::admin::cluster::*; use crate::admin::error::*; use crate::admin::key::*; use crate::admin::router_v0; use crate::admin::router_v1::{Authorization, Endpoint}; +use crate::admin::EndpointHandler; use crate::helpers::*; pub type ResBody = BoxBody<Error>; @@ -269,8 +271,14 @@ impl ApiHandler for AdminApiServer { Endpoint::CheckDomain => self.handle_check_domain(req).await, Endpoint::Health => self.handle_health(), Endpoint::Metrics => self.handle_metrics(), - Endpoint::GetClusterStatus => handle_get_cluster_status(&self.garage).await, - Endpoint::GetClusterHealth => handle_get_cluster_health(&self.garage).await, + Endpoint::GetClusterStatus => GetClusterStatusRequest + .handle(&self.garage) + .await + .and_then(|x| json_ok_response(&x)), + Endpoint::GetClusterHealth => GetClusterHealthRequest + .handle(&self.garage) + .await + .and_then(|x| json_ok_response(&x)), Endpoint::ConnectClusterNodes => handle_connect_cluster_nodes(&self.garage, req).await, // Layout Endpoint::GetClusterLayout => handle_get_cluster_layout(&self.garage).await, |