use tauri::plugin::TauriPlugin; use theseus::prelude::{UserFriend, UserStatus}; pub fn init() -> TauriPlugin { tauri::plugin::Builder::new("friends") .invoke_handler(tauri::generate_handler![ friends, friend_statuses, add_friend, remove_friend ]) .build() } #[tauri::command] pub async fn friends() -> crate::api::Result> { Ok(theseus::friends::friends().await?) } #[tauri::command] pub async fn friend_statuses() -> crate::api::Result> { Ok(theseus::friends::friend_statuses().await?) } #[tauri::command] pub async fn add_friend(user_id: &str) -> crate::api::Result<()> { Ok(theseus::friends::add_friend(user_id).await?) } #[tauri::command] pub async fn remove_friend(user_id: &str) -> crate::api::Result<()> { Ok(theseus::friends::remove_friend(user_id).await?) }