diff --git a/ufos/src/server.rs b/ufos/src/server.rs index 51fce38..7c01076 100644 --- a/ufos/src/server.rs +++ b/ufos/src/server.rs @@ -33,6 +33,7 @@ async fn get_openapi(ctx: RequestContext) -> OkCorsResponse) -> OkCorsResponse .map_err(failed_to_get("consumer info"))?; ok_cors(MetaInfo { + storage_name: storage.name(), storage: storage_info, consumer, }) diff --git a/ufos/src/storage.rs b/ufos/src/storage.rs index 3f0b4e5..c867707 100644 --- a/ufos/src/storage.rs +++ b/ufos/src/storage.rs @@ -32,6 +32,8 @@ pub trait StoreWriter: Send + Sync { #[async_trait] pub trait StoreReader: Send + Sync { + fn name(&self) -> String; + async fn get_storage_stats(&self) -> StorageResult; async fn get_consumer_info(&self) -> StorageResult; diff --git a/ufos/src/storage_fjall.rs b/ufos/src/storage_fjall.rs index ba8ea51..5c89a5c 100644 --- a/ufos/src/storage_fjall.rs +++ b/ufos/src/storage_fjall.rs @@ -435,6 +435,9 @@ impl FjallReader { #[async_trait] impl StoreReader for FjallReader { + fn name(&self) -> String { + "fjall storage v2".into() + } async fn get_storage_stats(&self) -> StorageResult { let s = self.clone(); tokio::task::spawn_blocking(move || FjallReader::get_storage_stats(&s)).await? diff --git a/ufos/src/storage_mem.rs b/ufos/src/storage_mem.rs index aebd20d..88b3d92 100644 --- a/ufos/src/storage_mem.rs +++ b/ufos/src/storage_mem.rs @@ -572,6 +572,9 @@ impl MemReader { #[async_trait] impl StoreReader for MemReader { + fn name(&self) -> String { + "in-memory store".into() + } async fn get_storage_stats(&self) -> StorageResult { let s = self.clone(); tokio::task::spawn_blocking(move || MemReader::get_storage_stats(&s)).await?