diff options
Diffstat (limited to 'src/api/admin/lib.rs')
-rw-r--r-- | src/api/admin/lib.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/api/admin/lib.rs b/src/api/admin/lib.rs index 599e9b44..31b3874d 100644 --- a/src/api/admin/lib.rs +++ b/src/api/admin/lib.rs @@ -3,9 +3,33 @@ extern crate tracing; pub mod api_server; mod error; +mod macros; + +pub mod api; mod router_v0; mod router_v1; +mod router_v2; mod bucket; mod cluster; mod key; +mod special; + +use std::sync::Arc; + +use async_trait::async_trait; + +use garage_model::garage::Garage; + +pub enum Authorization { + None, + MetricsToken, + AdminToken, +} + +#[async_trait] +pub trait EndpointHandler { + type Response; + + async fn handle(self, garage: &Arc<Garage>) -> Result<Self::Response, error::Error>; +} |