From a8f2ead59fcc30bd230ff5bb236233700eda21a3 Mon Sep 17 00:00:00 2001 From: "Robert C. Martin" Date: Sun, 22 Jan 2023 14:39:32 -0600 Subject: [PATCH] refactored process-server-recommendation (kind 2) --- spec/more_speech/nostr/events_spec.clj | 16 ++++++++++++++++ src/more_speech/nostr/event_handlers.clj | 7 +++---- src/more_speech/ui/swing/ui_context.clj | 5 ++++- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/spec/more_speech/nostr/events_spec.clj b/spec/more_speech/nostr/events_spec.clj index 7e765ee..c6782bb 100644 --- a/spec/more_speech/nostr/events_spec.clj +++ b/spec/more_speech/nostr/events_spec.clj @@ -9,6 +9,7 @@ [more-speech.nostr.elliptic-signature :refer :all] [more-speech.nostr.util :refer :all] [more-speech.ui.swing.ui-context :refer :all] + [more-speech.nostr.relays :refer [relays]] [more-speech.config :as config]) (:import (ecdhJava SECP256K1))) @@ -163,6 +164,21 @@ ) ) +(declare mem) +(describe "relay recommendation event kind 2" + (with now (int (/ (System/currentTimeMillis) 1000))) + (it "adds a relay recommendation" + (reset! relays {}) + (let [event {:id 1 + :pubkey 1 + :created-at @now + :kind 2 + :tags [] + :content "wss://relay-url" + :sig 0xdddddd}] + (process-server-recommendation event) + (should= {"wss://relay-url" {:read false, :write false}} @relays)))) + (defn have-client-tag? [tags] (let [[[tag-id tag-content]] tags] (and diff --git a/src/more_speech/nostr/event_handlers.clj b/src/more_speech/nostr/event_handlers.clj index 51a97c4..1a12c63 100644 --- a/src/more_speech/nostr/event_handlers.clj +++ b/src/more_speech/nostr/event_handlers.clj @@ -76,9 +76,8 @@ (defn process-like [event-state _event] event-state) -(defn process-server-recommendation [event-state event] - (relays/add-relay (:content event)) - event-state) +(defn process-server-recommendation [event] + (relays/add-relay (:content event))) (defn process-event [event url] (let [db (get-db) @@ -91,7 +90,7 @@ (condp = kind 0 (process-name-event db event) 1 (process-text-event db event url) - 2 (swap! (:data db) process-server-recommendation event) + 2 (process-server-recommendation event) 3 (swap! (:data db) contact-list/process-contact-list event url) 4 (swap! (:data db) process-text-event event url) 7 (swap! (:data db) process-like event) diff --git a/src/more_speech/ui/swing/ui_context.clj b/src/more_speech/ui/swing/ui_context.clj index 7d22b4a..a0d4dde 100644 --- a/src/more_speech/ui/swing/ui_context.clj +++ b/src/more_speech/ui/swing/ui_context.clj @@ -22,4 +22,7 @@ (defn get-db [] {::gateway/type ::in-memory/type - :data (:event-context @ui-context)}) \ No newline at end of file + :data (:event-context @ui-context)}) + +(defn get-mem [] + ((:event-context @ui-context))) \ No newline at end of file