From ebc7177438ddaf41b65ca19d69ed5c8bcf531f7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Sat, 25 Jun 2022 13:29:46 +0200 Subject: [PATCH] feat(base): Add method to get Room alt aliases --- crates/matrix-sdk-base/src/rooms/normal.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crates/matrix-sdk-base/src/rooms/normal.rs b/crates/matrix-sdk-base/src/rooms/normal.rs index 512cce85c..53156f060 100644 --- a/crates/matrix-sdk-base/src/rooms/normal.rs +++ b/crates/matrix-sdk-base/src/rooms/normal.rs @@ -191,6 +191,11 @@ impl Room { self.inner.read().unwrap().canonical_alias().map(ToOwned::to_owned) } + /// Get the canonical alias of this room. + pub fn alt_aliases(&self) -> Vec { + self.inner.read().unwrap().alt_aliases().to_owned() + } + /// Get the `m.room.create` content of this room. /// /// This usually isn't optional but some servers might not send an @@ -757,6 +762,16 @@ impl RoomInfo { self.base_info.canonical_alias.as_ref()?.as_original()?.content.alias.as_deref() } + /// Get the alternative aliases of this room. + pub fn alt_aliases(&self) -> &[OwnedRoomAliasId] { + self.base_info + .canonical_alias + .as_ref() + .and_then(|ev| ev.as_original()) + .map(|ev| ev.content.alt_aliases.as_ref()) + .unwrap_or_default() + } + /// Get the room ID of this room. pub fn room_id(&self) -> &RoomId { &self.room_id