diff options
Diffstat (limited to 'src/api/admin/node.rs')
-rw-r--r-- | src/api/admin/node.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/api/admin/node.rs b/src/api/admin/node.rs new file mode 100644 index 00000000..8c79acfd --- /dev/null +++ b/src/api/admin/node.rs @@ -0,0 +1,23 @@ +use std::sync::Arc; + +use async_trait::async_trait; + +use garage_model::garage::Garage; + +use crate::api::*; +use crate::error::Error; +use crate::{Admin, RequestHandler}; + +#[async_trait] +impl RequestHandler for LocalCreateMetadataSnapshotRequest { + type Response = LocalCreateMetadataSnapshotResponse; + + async fn handle( + self, + garage: &Arc<Garage>, + _admin: &Admin, + ) -> Result<LocalCreateMetadataSnapshotResponse, Error> { + garage_model::snapshot::async_snapshot_metadata(garage).await?; + Ok(LocalCreateMetadataSnapshotResponse) + } +} |