upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.rs')
-rw-r--r--src/client.rs21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/client.rs b/src/client.rs
index 3b18ad8..880cb6b 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -62,7 +62,12 @@ pub trait Connect {
62 fn get_fallback_relays(&self) -> &Vec<String>; 62 fn get_fallback_relays(&self) -> &Vec<String>;
63 fn get_more_fallback_relays(&self) -> &Vec<String>; 63 fn get_more_fallback_relays(&self) -> &Vec<String>;
64 fn get_blaster_relays(&self) -> &Vec<String>; 64 fn get_blaster_relays(&self) -> &Vec<String>;
65 async fn send_event_to(&self, url: &str, event: nostr::event::Event) -> Result<nostr::EventId>; 65 async fn send_event_to(
66 &self,
67 git_repo_path: &Path,
68 url: &str,
69 event: nostr::event::Event,
70 ) -> Result<nostr::EventId>;
66 async fn get_events( 71 async fn get_events(
67 &self, 72 &self,
68 relays: Vec<String>, 73 relays: Vec<String>,
@@ -189,11 +194,21 @@ impl Connect for Client {
189 &self.blaster_relays 194 &self.blaster_relays
190 } 195 }
191 196
192 async fn send_event_to(&self, url: &str, event: Event) -> Result<nostr::EventId> { 197 async fn send_event_to(
198 &self,
199 git_repo_path: &Path,
200 url: &str,
201 event: Event,
202 ) -> Result<nostr::EventId> {
193 self.client.add_relay(url).await?; 203 self.client.add_relay(url).await?;
194 #[allow(clippy::large_futures)] 204 #[allow(clippy::large_futures)]
195 self.client.connect_relay(url).await?; 205 self.client.connect_relay(url).await?;
196 Ok(self.client.send_event_to(vec![url], event).await?) 206 let res = self.client.send_event_to(vec![url], event.clone()).await?;
207 save_event_in_cache(git_repo_path, &event).await?;
208 if event.kind().eq(&Kind::Custom(REPO_REF_KIND)) {
209 save_event_in_global_cache(git_repo_path, &event).await?;
210 }
211 Ok(res)
197 } 212 }
198 213
199 async fn get_events( 214 async fn get_events(