add del to raw suite

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2025-01-22 03:50:51 +00:00
parent 9ab381e4eb
commit 1f31e74024

View file

@ -33,6 +33,15 @@ pub(crate) enum RawCommand {
key: String, key: String,
}, },
/// - Raw database delete (for string keys)
RawDel {
/// Map name
map: String,
/// Key
key: String,
},
/// - Raw database keys iteration /// - Raw database keys iteration
RawKeys { RawKeys {
/// Map name /// 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<RoomMessageEventContent> {
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] #[admin_command]
pub(super) async fn raw_get(&self, map: String, key: String) -> Result<RoomMessageEventContent> { pub(super) async fn raw_get(&self, map: String, key: String) -> Result<RoomMessageEventContent> {
let map = self.services.db.get(&map)?; let map = self.services.db.get(&map)?;