slightly better sliding sync

This commit is contained in:
Timo Kösters 2023-07-23 21:57:11 +02:00
parent ad06d475de
commit caddc656fb
No known key found for this signature in database
GPG key ID: 0B25E636FBA7E4CB
4 changed files with 260 additions and 19 deletions

View file

@ -282,4 +282,19 @@ impl Service {
.map_err(|_| Error::bad_database("Invalid room name event in database."))
})
}
pub fn get_member(
&self,
room_id: &RoomId,
user_id: &UserId,
) -> Result<Option<RoomMemberEventContent>> {
services()
.rooms
.state_accessor
.room_state_get(&room_id, &StateEventType::RoomMember, user_id.as_str())?
.map_or(Ok(None), |s| {
serde_json::from_str(s.content.get())
.map_err(|_| Error::bad_database("Invalid room member event in database."))
})
}
}