From 1f31e74024bcdc23efcbafc32c0d9572df83fb82 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 22 Jan 2025 03:50:51 +0000 Subject: [PATCH] add del to raw suite Signed-off-by: Jason Volk --- src/admin/query/raw.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/admin/query/raw.rs b/src/admin/query/raw.rs index ac5e8976..5a6006ec 100644 --- a/src/admin/query/raw.rs +++ b/src/admin/query/raw.rs @@ -33,6 +33,15 @@ pub(crate) enum RawCommand { key: String, }, + /// - Raw database delete (for string keys) + RawDel { + /// Map name + map: String, + + /// Key + key: String, + }, + /// - Raw database keys iteration RawKeys { /// Map name @@ -534,6 +543,18 @@ pub(super) async fn raw_iter_from( ))) } +#[admin_command] +pub(super) async fn raw_del(&self, map: String, key: String) -> Result { + let map = self.services.db.get(&map)?; + let timer = Instant::now(); + map.remove(&key); + let query_time = timer.elapsed(); + + Ok(RoomMessageEventContent::notice_markdown(format!( + "Operation completed in {query_time:?}" + ))) +} + #[admin_command] pub(super) async fn raw_get(&self, map: String, key: String) -> Result { let map = self.services.db.get(&map)?;