update go-nostr.

This commit is contained in:
fiatjaf
2022-01-02 09:00:14 -03:00
parent f86eb9246b
commit 629c9174eb
7 changed files with 25 additions and 31 deletions

View File

@@ -8,14 +8,13 @@ import (
"strconv"
"strings"
"github.com/fiatjaf/go-nostr/event"
"github.com/fiatjaf/go-nostr/filter"
"github.com/fiatjaf/go-nostr"
"github.com/rs/zerolog/log"
)
func (b *BasicRelay) QueryEvents(
filter *filter.EventFilter,
) (events []event.Event, err error) {
filter *nostr.EventFilter,
) (events []nostr.Event, err error) {
var conditions []string
var params []interface{}

View File

@@ -6,10 +6,10 @@ import (
"fmt"
"strings"
"github.com/fiatjaf/go-nostr/event"
"github.com/fiatjaf/go-nostr"
)
func (b *BasicRelay) SaveEvent(evt *event.Event) error {
func (b *BasicRelay) SaveEvent(evt *nostr.Event) error {
// disallow large contents
if len(evt.Content) > 1000 {
return errors.New("event content too large")
@@ -17,14 +17,14 @@ func (b *BasicRelay) SaveEvent(evt *event.Event) error {
// react to different kinds of events
switch evt.Kind {
case event.KindSetMetadata:
case nostr.KindSetMetadata:
// delete past set_metadata events from this user
b.DB.Exec(`DELETE FROM event WHERE pubkey = $1 AND kind = 0`, evt.PubKey)
case event.KindRecommendServer:
case nostr.KindRecommendServer:
// delete past recommend_server events equal to this one
b.DB.Exec(`DELETE FROM event WHERE pubkey = $1 AND kind = 2 AND content = $2`,
evt.PubKey, evt.Content)
case event.KindContactList:
case nostr.KindContactList:
// delete past contact lists from this same pubkey
b.DB.Exec(`DELETE FROM event WHERE pubkey = $1 AND kind = 3`, evt.PubKey)
default:

2
go.mod
View File

@@ -3,7 +3,7 @@ module github.com/fiatjaf/relayer
go 1.15
require (
github.com/fiatjaf/go-nostr v0.3.0
github.com/fiatjaf/go-nostr v0.4.1
github.com/gorilla/mux v1.8.0
github.com/gorilla/websocket v1.4.2
github.com/jmoiron/sqlx v1.3.1

6
go.sum
View File

@@ -17,10 +17,8 @@ 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.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.1 h1:oMNyNKA+9k675y/hyQ4z+qm90aVvfzpiMSFS5wQ5pfI=
github.com/fiatjaf/go-nostr v0.2.1/go.mod h1:Uw7NI2zQE2QYgcT5495pZguoHoYRIrmXvLRO0eXhOs0=
github.com/fiatjaf/go-nostr v0.3.0 h1:Ccdn2E8to99TSb691YUieKbFkvfkaM2fwjQJovfpzRU=
github.com/fiatjaf/go-nostr v0.3.0/go.mod h1:Uw7NI2zQE2QYgcT5495pZguoHoYRIrmXvLRO0eXhOs0=
github.com/fiatjaf/go-nostr v0.4.1 h1:kYgdEFAojK0tuaYqt6FWs1uVw5QJJni6ShbQqfL3Gos=
github.com/fiatjaf/go-nostr v0.4.1/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=

View File

@@ -7,8 +7,7 @@ import (
"net/http"
"time"
"github.com/fiatjaf/go-nostr/event"
"github.com/fiatjaf/go-nostr/filter"
"github.com/fiatjaf/go-nostr"
"github.com/gorilla/websocket"
)
@@ -95,7 +94,7 @@ func handleWebsocket(relay Relay) func(http.ResponseWriter, *http.Request) {
switch typ {
case "EVENT":
// it's a new event
var evt event.Event
var evt nostr.Event
if err := json.Unmarshal(request[1], &evt); err != nil {
notice = "failed to decode event: " + err.Error()
return
@@ -132,7 +131,7 @@ func handleWebsocket(relay Relay) func(http.ResponseWriter, *http.Request) {
return
}
filters := make(filter.EventFilters, len(request)-2)
filters := make(nostr.EventFilters, len(request)-2)
for i, filterReq := range request[2:] {
if err := json.Unmarshal(
filterReq,

View File

@@ -1,8 +1,7 @@
package relayer
import (
"github.com/fiatjaf/go-nostr/event"
"github.com/fiatjaf/go-nostr/filter"
"github.com/fiatjaf/go-nostr"
)
var Log = log
@@ -10,10 +9,10 @@ var Log = log
type Relay interface {
Name() string
Init() error
SaveEvent(*event.Event) error
QueryEvents(*filter.EventFilter) ([]event.Event, error)
SaveEvent(*nostr.Event) error
QueryEvents(*nostr.EventFilter) ([]nostr.Event, error)
}
type Injector interface {
InjectEvents() chan event.Event
InjectEvents() chan nostr.Event
}

View File

@@ -3,20 +3,19 @@ package relayer
import (
"sync"
"github.com/fiatjaf/go-nostr/event"
"github.com/fiatjaf/go-nostr/filter"
"github.com/fiatjaf/go-nostr"
"github.com/gorilla/websocket"
)
type Listener struct {
filters filter.EventFilters
filters nostr.EventFilters
}
var listeners = make(map[*websocket.Conn]map[string]*Listener)
var listenersMutex = sync.Mutex{}
func GetListeningFilters() filter.EventFilters {
var respfilters = make(filter.EventFilters, 0, len(listeners)*2)
func GetListeningFilters() nostr.EventFilters {
var respfilters = make(nostr.EventFilters, 0, len(listeners)*2)
listenersMutex.Lock()
defer func() {
@@ -29,7 +28,7 @@ func GetListeningFilters() filter.EventFilters {
for _, listenerfilter := range listener.filters {
for _, respfilter := range respfilters {
// check if this filter specifically is already added to respfilters
if filter.Equal(listenerfilter, respfilter) {
if nostr.Equal(listenerfilter, respfilter) {
goto nextconn
}
}
@@ -48,7 +47,7 @@ func GetListeningFilters() filter.EventFilters {
return respfilters
}
func setListener(id string, conn *websocket.Conn, filters filter.EventFilters) {
func setListener(id string, conn *websocket.Conn, filters nostr.EventFilters) {
listenersMutex.Lock()
defer func() {
listenersMutex.Unlock()
@@ -80,7 +79,7 @@ func removeListener(conn *websocket.Conn, id string) {
}
}
func notifyListeners(event *event.Event) {
func notifyListeners(event *nostr.Event) {
listenersMutex.Lock()
defer func() {
listenersMutex.Unlock()