From 0265be6d318c70b3d1909da9d2f7c07dbe2db024 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Thu, 16 Dec 2021 20:54:57 -0300 Subject: [PATCH] upgrade to go-nostr v0.2.0. --- go.mod | 2 +- go.sum | 8 ++++---- handlers.go | 4 ++-- listener.go | 19 +++---------------- query.go | 5 ----- 5 files changed, 10 insertions(+), 28 deletions(-) diff --git a/go.mod b/go.mod index 8f6a65d..22344de 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/fiatjaf/relayer go 1.15 require ( - github.com/fiatjaf/go-nostr v0.1.4 + github.com/fiatjaf/go-nostr v0.2.0 github.com/gorilla/mux v1.8.0 github.com/gorilla/websocket v1.4.2 github.com/jmoiron/sqlx v1.3.1 diff --git a/go.sum b/go.sum index 39fbc48..2165bca 100644 --- a/go.sum +++ b/go.sum @@ -15,10 +15,10 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/fiatjaf/bip340 v1.0.0 h1:mpwbm+0KC9BXB/7/pnac4e4N1TiuppyEVXxtVAXj75k= -github.com/fiatjaf/bip340 v1.0.0/go.mod h1:MxAz+5FQUTW4OT2gnCBC6Our486wmqf72ykZIrh7+is= -github.com/fiatjaf/go-nostr v0.1.4 h1:OicdiaKBgt8UaI3/Eh+TIcC1uuMlXJMl+5IU7QqmgYo= -github.com/fiatjaf/go-nostr v0.1.4/go.mod h1:Zwa4KwVMy3gLoMbbrH+NOZvqmrDADCIV+C67ew7VEqs= +github.com/fiatjaf/bip340 v1.1.0 h1:W+CnUU3RyqgMKS2S9t/r2l3L4D+sSkRtU4la7MlVBR8= +github.com/fiatjaf/bip340 v1.1.0/go.mod h1:MxAz+5FQUTW4OT2gnCBC6Our486wmqf72ykZIrh7+is= +github.com/fiatjaf/go-nostr v0.2.0 h1:qAhi+K5f6KhC54Bk2cWpdw0BThkNCYehUZTC+NsgNQY= +github.com/fiatjaf/go-nostr v0.2.0/go.mod h1:Uw7NI2zQE2QYgcT5495pZguoHoYRIrmXvLRO0eXhOs0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= diff --git a/handlers.go b/handlers.go index 05c04bc..0fca719 100644 --- a/handlers.go +++ b/handlers.go @@ -105,14 +105,14 @@ func handleWebsocket(w http.ResponseWriter, r *http.Request) { return } - filters := make([]*filter.EventFilter, len(request)-2) + filters := make(filter.EventFilters, len(request)-2) for i, filterReq := range request[2:] { err = json.Unmarshal(filterReq, &filters[i]) if err != nil { return } - events, err := queryEvents(filters[i]) + events, err := queryEvents(&filters[i]) if err == nil { for _, event := range events { conn.WriteJSON([]interface{}{"EVENT", id, event}) diff --git a/listener.go b/listener.go index 2469983..6c2c4eb 100644 --- a/listener.go +++ b/listener.go @@ -10,13 +10,13 @@ import ( type Listener struct { ws *websocket.Conn - filters []*filter.EventFilter + filters filter.EventFilters } var listeners = make(map[string]*Listener) var listenersMutex = sync.Mutex{} -func setListener(id string, conn *websocket.Conn, filters []*filter.EventFilter) { +func setListener(id string, conn *websocket.Conn, filters filter.EventFilters) { listenersMutex.Lock() defer func() { listenersMutex.Unlock() @@ -44,20 +44,7 @@ func notifyListeners(event *event.Event) { }() for id, listener := range listeners { - match := false - for _, filter := range listener.filters { - if filter == nil { - match = false - break - } - - if filter.Matches(event) { - match = true - break - } - } - - if !match { + if !listener.filters.Match(event) { continue } diff --git a/query.go b/query.go index 3e406da..f5414fe 100644 --- a/query.go +++ b/query.go @@ -25,11 +25,6 @@ func queryEvents(filter *filter.EventFilter) (events []event.Event, err error) { params = append(params, filter.ID) } - if filter.Author != "" { - conditions = append(conditions, "pubkey = ?") - params = append(params, filter.Author) - } - if filter.Kind != nil && *filter.Kind != 0 { conditions = append(conditions, "kind = ?") params = append(params, filter.Kind)