From a33d2ad28f1f3a0c08acefc8bdacbd9e7b18a2f5 Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Thu, 30 Mar 2023 09:59:19 +0100 Subject: [PATCH] bindings: Add ignore_user --- bindings/matrix-sdk-ffi/src/api.udl | 3 +++ bindings/matrix-sdk-ffi/src/room.rs | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/bindings/matrix-sdk-ffi/src/api.udl b/bindings/matrix-sdk-ffi/src/api.udl index a6b475bb0..984227567 100644 --- a/bindings/matrix-sdk-ffi/src/api.udl +++ b/bindings/matrix-sdk-ffi/src/api.udl @@ -256,6 +256,9 @@ interface Room { [Throws=ClientError] void report_content(string event_id, i32? score, string? reason); + + [Throws=ClientError] + void ignore_user(string user_id); [Throws=ClientError] void send_reaction(string event_id, string key); diff --git a/bindings/matrix-sdk-ffi/src/room.rs b/bindings/matrix-sdk-ffi/src/room.rs index e0879e46d..d28ab00d4 100644 --- a/bindings/matrix-sdk-ffi/src/room.rs +++ b/bindings/matrix-sdk-ffi/src/room.rs @@ -446,6 +446,19 @@ impl Room { }) } + /// Ignores a user. + /// + /// # Arguments + /// + /// * `event_id` - The ID of the user to ignore. + pub fn ignore_user(&self, user_id: String) -> Result<()> { + RUNTIME.block_on(async move { + let user_id = UserId::parse(user_id)?; + self.client().account().ignore_user(&user_id).await?; + Ok(()) + }) + } + /// Leaves the joined room. /// /// Will throw an error if used on an room that isn't in a joined state