From 27692a2f149c010dc08a610599a9c1035c815f91 Mon Sep 17 00:00:00 2001
From: Jonas Platte <jplatte+git@posteo.de>
Date: Fri, 18 Feb 2022 11:52:00 +0100
Subject: [PATCH] Remove useless serde roundtrips

---
 src/client_server/directory.rs | 14 +-------------
 src/server_server.rs           | 26 ++------------------------
 2 files changed, 3 insertions(+), 37 deletions(-)

diff --git a/src/client_server/directory.rs b/src/client_server/directory.rs
index 75601fe7..62bf566a 100644
--- a/src/client_server/directory.rs
+++ b/src/client_server/directory.rs
@@ -149,19 +149,7 @@ pub(crate) async fn get_public_rooms_filtered_helper(
             .await?;
 
         return Ok(get_public_rooms_filtered::Response {
-            chunk: response
-                .chunk
-                .into_iter()
-                .map(|c| {
-                    // Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
-                    // to ruma::api::client::r0::directory::PublicRoomsChunk
-                    serde_json::from_str(
-                        &serde_json::to_string(&c)
-                            .expect("PublicRoomsChunk::to_string always works"),
-                    )
-                    .expect("federation and client-server PublicRoomsChunk are the same type")
-                })
-                .collect(),
+            chunk: response.chunk,
             prev_batch: response.prev_batch,
             next_batch: response.next_batch,
             total_room_count_estimate: response.total_room_count_estimate,
diff --git a/src/server_server.rs b/src/server_server.rs
index 39210555..372a76f8 100644
--- a/src/server_server.rs
+++ b/src/server_server.rs
@@ -591,18 +591,7 @@ pub async fn get_public_rooms_filtered_route(
     .await?;
 
     Ok(get_public_rooms_filtered::v1::Response {
-        chunk: response
-            .chunk
-            .into_iter()
-            .map(|c| {
-                // Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
-                // to ruma::api::client::r0::directory::PublicRoomsChunk
-                serde_json::from_str(
-                    &serde_json::to_string(&c).expect("PublicRoomsChunk::to_string always works"),
-                )
-                .expect("federation and client-server PublicRoomsChunk are the same type")
-            })
-            .collect(),
+        chunk: response.chunk,
         prev_batch: response.prev_batch,
         next_batch: response.next_batch,
         total_room_count_estimate: response.total_room_count_estimate,
@@ -631,18 +620,7 @@ pub async fn get_public_rooms_route(
     .await?;
 
     Ok(get_public_rooms::v1::Response {
-        chunk: response
-            .chunk
-            .into_iter()
-            .map(|c| {
-                // Convert ruma::api::federation::directory::get_public_rooms::v1::PublicRoomsChunk
-                // to ruma::api::client::r0::directory::PublicRoomsChunk
-                serde_json::from_str(
-                    &serde_json::to_string(&c).expect("PublicRoomsChunk::to_string always works"),
-                )
-                .expect("federation and client-server PublicRoomsChunk are the same type")
-            })
-            .collect(),
+        chunk: response.chunk,
         prev_batch: response.prev_batch,
         next_batch: response.next_batch,
         total_room_count_estimate: response.total_room_count_estimate,