Skip to content

Commit 7278a36

Browse files
committed
chore(base): Move Room::get_member_hints in the display_name module.
This patch moves the `Room::get_member_hints` method inside the newly created `display_name` module. That way it is isolated from the rest of the codebase.
1 parent bd9a895 commit 7278a36

File tree

2 files changed

+26
-21
lines changed

2 files changed

+26
-21
lines changed

crates/matrix-sdk-base/src/rooms/display_name.rs

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,20 @@
1414

1515
use std::fmt;
1616

17+
use as_variant::as_variant;
1718
use regex::Regex;
18-
use ruma::{events::member_hints::MemberHintsEventContent, OwnedMxcUri, OwnedUserId, UserId};
19+
use ruma::{
20+
events::{member_hints::MemberHintsEventContent, SyncStateEvent},
21+
OwnedMxcUri, OwnedUserId, UserId,
22+
};
1923
use serde::{Deserialize, Serialize};
2024
use tracing::{debug, trace, warn};
2125

22-
use crate::{store::Result as StoreResult, RoomMember, RoomState};
26+
use crate::{
27+
deserialized_responses::SyncOrStrippedState,
28+
store::{Result as StoreResult, StateStoreExt},
29+
RoomMember, RoomState,
30+
};
2331

2432
use super::{Room, RoomMemberships};
2533

@@ -291,6 +299,21 @@ impl Room {
291299

292300
Ok(ComputedSummary { heroes, num_service_members, num_joined_invited_guess })
293301
}
302+
303+
async fn get_member_hints(&self) -> StoreResult<MemberHintsEventContent> {
304+
Ok(self
305+
.store
306+
.get_state_event_static::<MemberHintsEventContent>(self.room_id())
307+
.await?
308+
.and_then(|event| {
309+
event
310+
.deserialize()
311+
.inspect_err(|e| warn!("Couldn't deserialize the member hints event: {e}"))
312+
.ok()
313+
})
314+
.and_then(|event| as_variant!(event, SyncOrStrippedState::Sync(SyncStateEvent::Original(e)) => e.content))
315+
.unwrap_or_default())
316+
}
294317
}
295318

296319
/// The result of a room summary computation.

crates/matrix-sdk-base/src/rooms/mod.rs

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,13 @@ mod state;
2626
mod tags;
2727

2828
use crate::{
29-
deserialized_responses::{MemberEvent, SyncOrStrippedState},
29+
deserialized_responses::MemberEvent,
3030
notification_settings::RoomNotificationMode,
3131
read_receipts::RoomReadReceipts,
3232
store::{DynStateStore, Result as StoreResult, StateStoreExt},
3333
sync::UnreadNotificationsCount,
3434
Error, MinimalStateEvent,
3535
};
36-
use as_variant::as_variant;
3736
pub use create::*;
3837
pub use display_name::{RoomDisplayName, RoomHero};
3938
pub(crate) use display_name::{RoomSummary, UpdatedRoomDisplayName};
@@ -52,7 +51,6 @@ use ruma::{events::AnySyncTimelineEvent, serde::Raw};
5251
use ruma::{
5352
events::{
5453
direct::OwnedDirectUserIdentifier,
55-
member_hints::MemberHintsEventContent,
5654
receipt::{Receipt, ReceiptThread, ReceiptType},
5755
room::{
5856
avatar::{self},
@@ -62,7 +60,6 @@ use ruma::{
6260
power_levels::{RoomPowerLevels, RoomPowerLevelsEventContent},
6361
tombstone::RoomTombstoneEventContent,
6462
},
65-
SyncStateEvent,
6663
},
6764
room::RoomType,
6865
EventId, OwnedEventId, OwnedMxcUri, OwnedRoomAliasId, OwnedRoomId, OwnedUserId, RoomId, UserId,
@@ -391,21 +388,6 @@ impl Room {
391388
self.inner.read().topic().map(ToOwned::to_owned)
392389
}
393390

394-
pub(super) async fn get_member_hints(&self) -> StoreResult<MemberHintsEventContent> {
395-
Ok(self
396-
.store
397-
.get_state_event_static::<MemberHintsEventContent>(self.room_id())
398-
.await?
399-
.and_then(|event| {
400-
event
401-
.deserialize()
402-
.inspect_err(|e| warn!("Couldn't deserialize the member hints event: {e}"))
403-
.ok()
404-
})
405-
.and_then(|event| as_variant!(event, SyncOrStrippedState::Sync(SyncStateEvent::Original(e)) => e.content))
406-
.unwrap_or_default())
407-
}
408-
409391
/// Update the cached user defined notification mode.
410392
///
411393
/// This is automatically recomputed on every successful sync, and the

0 commit comments

Comments
 (0)