use wasm_bindgen::prelude::*;
use crate::{WebClient, js_error_with_context};
#[wasm_bindgen]
impl WebClient {
#[wasm_bindgen(js_name = "sendPrivateNote")]
pub async fn send_private_note(
&mut self,
note: crate::models::note::Note,
address: crate::models::address::Address,
) -> Result<(), JsValue> {
let client = self.get_mut_inner().ok_or_else(|| {
JsValue::from_str("Client not initialized. Call createClient() first.")
})?;
client
.send_private_note(note.into(), &address.into())
.await
.map_err(|e| js_error_with_context(e, "failed sending private note"))?;
Ok(())
}
#[wasm_bindgen(js_name = "fetchPrivateNotes")]
pub async fn fetch_private_notes(&mut self) -> Result<(), JsValue> {
let client = self.get_mut_inner().ok_or_else(|| {
JsValue::from_str("Client not initialized. Call createClient() first.")
})?;
client
.fetch_private_notes()
.await
.map_err(|e| js_error_with_context(e, "failed fetching private notes"))?;
Ok(())
}
#[wasm_bindgen(js_name = "fetchAllPrivateNotes")]
pub async fn fetch_all_private_notes(&mut self) -> Result<(), JsValue> {
let client = self.get_mut_inner().ok_or_else(|| {
JsValue::from_str("Client not initialized. Call createClient() first.")
})?;
client
.fetch_all_private_notes()
.await
.map_err(|e| js_error_with_context(e, "failed fetching all private notes"))?;
Ok(())
}
}