From 97e709492cc12e1e4558457a4760551d0dd74db2 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 7 Oct 2025 17:21:35 +0000 Subject: [PATCH] Add is_direct() alternative query for m.room.member. Signed-off-by: Jason Volk --- src/service/rooms/state_accessor/mod.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/service/rooms/state_accessor/mod.rs b/src/service/rooms/state_accessor/mod.rs index 42b6a7f5..2f3212ab 100644 --- a/src/service/rooms/state_accessor/mod.rs +++ b/src/service/rooms/state_accessor/mod.rs @@ -28,7 +28,7 @@ use ruma::{ room::RoomType, }; use tuwunel_core::{ - Result, err, + Result, err, is_true, matrix::{Pdu, room_version, state_res::events::RoomCreateEvent}, }; @@ -82,6 +82,14 @@ impl Service { .await } + pub async fn is_direct(&self, room_id: &RoomId, user_id: &UserId) -> bool { + self.get_member(room_id, user_id) + .await + .ok() + .and_then(|content| content.is_direct) + .is_some_and(is_true!()) + } + pub async fn get_member( &self, room_id: &RoomId,