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/mod.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/mod.rs')
-rw-r--r-- | src/api/admin/mod.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/api/admin/mod.rs b/src/api/admin/mod.rs index 43a8c59c..e64eca7e 100644 --- a/src/api/admin/mod.rs +++ b/src/api/admin/mod.rs @@ -1,8 +1,24 @@ pub mod api_server; mod error; + +pub mod api; mod router_v0; mod router_v1; mod bucket; mod cluster; mod key; + +use std::sync::Arc; + +use async_trait::async_trait; +use serde::Serialize; + +use garage_model::garage::Garage; + +#[async_trait] +pub trait EndpointHandler { + type Response: Serialize; + + async fn handle(self, garage: &Arc<Garage>) -> Result<Self::Response, error::Error>; +} |