From 241d456a81f21a38d2b410bde55ed45a66ecf51e Mon Sep 17 00:00:00 2001 From: Denis Kasak Date: Wed, 10 Jun 2020 14:39:12 +0200 Subject: [PATCH] Add RoomMember::name. Returns the most ergonomic name for the member (either the display name (if set) or the MXID). --- matrix_sdk_base/src/models/room_member.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/matrix_sdk_base/src/models/room_member.rs b/matrix_sdk_base/src/models/room_member.rs index 337551c7..ede74caa 100644 --- a/matrix_sdk_base/src/models/room_member.rs +++ b/matrix_sdk_base/src/models/room_member.rs @@ -32,7 +32,7 @@ use serde::{Deserialize, Serialize}; /// A Matrix room member. /// pub struct RoomMember { - /// The unique mxid of the user. + /// The unique MXID of the user. pub user_id: UserId, /// The human readable name of the user. pub display_name: Option, @@ -100,6 +100,15 @@ impl RoomMember { } } + /// Returns the most ergonomic name available for the member. + /// + /// This is the member's display name if it is set, otherwise their MXID. + pub fn name(&self) -> String { + self.display_name + .clone() + .unwrap_or_else(|| format!("{}", self.user_id)) + } + pub fn update_member(&mut self, event: &MemberEvent) -> bool { use MembershipChange::*;