From c57fe66d8d91a6679a0d0d7ac102e143c12e6a53 Mon Sep 17 00:00:00 2001 From: 31a05b9c Date: Wed, 6 May 2026 17:11:58 +0000 Subject: [PATCH] fix: `query account-data account-data-get` output --- src/admin/query/account_data.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/admin/query/account_data.rs b/src/admin/query/account_data.rs index dcbc329c2..746f72031 100644 --- a/src/admin/query/account_data.rs +++ b/src/admin/query/account_data.rs @@ -1,7 +1,8 @@ use clap::Subcommand; use conduwuit::Result; +use conduwuit_database::Deserialized as _; use futures::StreamExt; -use ruma::{OwnedRoomId, OwnedUserId}; +use ruma::{OwnedRoomId, OwnedUserId, exports::serde::Serialize}; use crate::{admin_command, admin_command_dispatch}; @@ -58,13 +59,22 @@ async fn account_data_get( room_id: Option, ) -> Result { let timer = tokio::time::Instant::now(); - let results = self + let result = self .services .account_data .get_raw(room_id.as_deref(), &user_id, &kind) .await; let query_time = timer.elapsed(); - self.write_str(&format!("Query completed in {query_time:?}:\n\n```rs\n{results:#?}\n```")) + let json = serde_json::to_string_pretty(&match room_id { + | None => result + .deserialized::>()? + .serialize(serde_json::value::Serializer)?, + | Some(_) => result + .deserialized::>()? + .serialize(serde_json::value::Serializer)?, + })?; + + self.write_str(&format!("Query completed in {query_time:?}:\n\n```rs\n{json}\n```")) .await }