From a44edee07b697b24ddb1fbb17ecba8adbf8cffb0 Mon Sep 17 00:00:00 2001 From: alemi Date: Tue, 15 Oct 2024 22:19:38 +0200 Subject: [PATCH] feat: user_list returns Vec returning a String was weird! --- src/ffi/java/workspace.rs | 4 ++-- src/ffi/js/workspace.rs | 6 ++++-- src/ffi/python/workspace.rs | 2 +- src/workspace.rs | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/ffi/java/workspace.rs b/src/ffi/java/workspace.rs index 9b5343e..9dcdc5b 100644 --- a/src/ffi/java/workspace.rs +++ b/src/ffi/java/workspace.rs @@ -1,5 +1,5 @@ use crate::{ - api::controller::AsyncReceiver, + api::{controller::AsyncReceiver, User}, errors::{ConnectionError, ControllerError, RemoteError}, ffi::java::null_check, Workspace, @@ -39,7 +39,7 @@ fn active_buffers(workspace: &mut Workspace) -> Vec { /// Gets a list of the active buffers. #[jni(package = "mp.code", class = "Workspace")] -fn user_list(workspace: &mut Workspace) -> Vec { +fn user_list(workspace: &mut Workspace) -> Vec { workspace.user_list() } diff --git a/src/ffi/js/workspace.rs b/src/ffi/js/workspace.rs index 0358e2b..e0386fe 100644 --- a/src/ffi/js/workspace.rs +++ b/src/ffi/js/workspace.rs @@ -8,6 +8,8 @@ use napi::threadsafe_function::{ }; use napi_derive::napi; +use super::client::JsUser; + #[napi(object, js_name = "Event")] pub struct JsEvent { pub r#type: String, @@ -49,8 +51,8 @@ impl Workspace { /// List all user names currently in this workspace #[napi(js_name = "user_list")] - pub fn js_user_list(&self) -> Vec { - self.user_list() + pub fn js_user_list(&self) -> Vec { + self.user_list().into_iter().map(JsUser::from).collect() } /// List all currently active buffers diff --git a/src/ffi/python/workspace.rs b/src/ffi/python/workspace.rs index 96e287c..a5c1256 100644 --- a/src/ffi/python/workspace.rs +++ b/src/ffi/python/workspace.rs @@ -80,7 +80,7 @@ impl Workspace { } #[pyo3(name = "user_list")] - fn pyuser_list(&self) -> Vec { + fn pyuser_list(&self) -> Vec { self.user_list() } diff --git a/src/workspace.rs b/src/workspace.rs index 94c8d37..8d04910 100644 --- a/src/workspace.rs +++ b/src/workspace.rs @@ -300,11 +300,11 @@ impl Workspace { } /// Get all names of users currently in this workspace - pub fn user_list(&self) -> Vec { + pub fn user_list(&self) -> Vec { self.0 .users .iter() - .map(|elem| elem.value().name.clone()) + .map(|elem| elem.value().clone()) .collect() }