diff --git a/src-tauri/src/nostr/metadata.rs b/src-tauri/src/nostr/metadata.rs index 89a9cd68..b4e4298f 100644 --- a/src-tauri/src/nostr/metadata.rs +++ b/src-tauri/src/nostr/metadata.rs @@ -246,13 +246,22 @@ pub async fn set_nstore( state: State<'_, Nostr>, ) -> Result { let client = &state.client; - let tag = Tag::Identifier(key.into()); - let builder = EventBuilder::new(Kind::ApplicationSpecificData, content, vec![tag]); - match client.send_event_builder(builder).await { - Ok(event_id) => { - println!("set nstore: {}", event_id); - Ok(event_id) + match client.signer().await { + Ok(signer) => { + let public_key = signer.public_key().await.unwrap(); + let encrypted = signer.nip44_encrypt(public_key, content).await.unwrap(); + + let tag = Tag::Identifier(key.into()); + let builder = EventBuilder::new(Kind::ApplicationSpecificData, encrypted, vec![tag]); + + match client.send_event_builder(builder).await { + Ok(event_id) => { + println!("set nstore: {}", event_id); + Ok(event_id) + } + Err(err) => Err(err.to_string()), + } } Err(err) => Err(err.to_string()), } @@ -279,7 +288,13 @@ pub async fn get_nstore(key: &str, state: State<'_, Nostr>) -> Result Ok(decrypted), + Err(_) => Err(event.content.to_string()), + } } else { println!("get nstore key: {}", key); Err("Value not found".into())