aboutsummaryrefslogtreecommitdiff
path: root/src/api/admin/api_server.rs
diff options
context:
space:
mode:
authorAlex Auvolat <lx@deuxfleurs.fr>2025-01-27 23:13:01 +0100
committerAlex Auvolat <lx@deuxfleurs.fr>2025-01-29 19:26:16 +0100
commitc1eb1610bab4d0d689dae9389f3fc10c0ab0efdc (patch)
tree6dbcdbe1cad3426e2e4dc2db19cb68c98bb8dcb3 /src/api/admin/api_server.rs
parent5560a963e048f6bb000fc37b7e7ad73dbe96f3ab (diff)
downloadgarage-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.rs12
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,