diff options
author | Alex Auvolat <lx@deuxfleurs.fr> | 2025-02-05 14:22:10 +0100 |
---|---|---|
committer | Alex Auvolat <lx@deuxfleurs.fr> | 2025-02-05 14:22:10 +0100 |
commit | 9f468b4439bdd5e2e67a6215f941556310877155 (patch) | |
tree | 7524ac5326e069d014fd25b624d794d52aa5e745 /src/api/admin/node.rs | |
parent | 97be7b38fa3bd3172895f6ab44157e5236d65cd6 (diff) | |
download | garage-9f468b4439bdd5e2e67a6215f941556310877155.tar.gz garage-9f468b4439bdd5e2e67a6215f941556310877155.zip |
cli_v2: implement CreateMetadataSnapshot
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) + } +} |