mirror of
https://github.com/fiatjaf/khatru.git
synced 2025-03-17 21:32:55 +01:00
feat(AddEvent): add pointer when adding event (#68)
This commit is contained in:
parent
0efec9b905
commit
ee84bf513f
17
add-event.go
17
add-event.go
@ -8,11 +8,16 @@ import (
|
||||
"github.com/nbd-wtf/go-nostr"
|
||||
)
|
||||
|
||||
func AddEvent(ctx context.Context, relay Relay, evt nostr.Event) (accepted bool, message string) {
|
||||
// AddEvent has a business rule to add an event to the relayer
|
||||
func AddEvent(ctx context.Context, relay Relay, evt *nostr.Event) (accepted bool, message string) {
|
||||
if evt == nil {
|
||||
return false, ""
|
||||
}
|
||||
|
||||
store := relay.Storage(ctx)
|
||||
advancedSaver, _ := store.(AdvancedSaver)
|
||||
|
||||
if !relay.AcceptEvent(ctx, &evt) {
|
||||
if !relay.AcceptEvent(ctx, evt) {
|
||||
return false, "blocked: event blocked by relay"
|
||||
}
|
||||
|
||||
@ -20,10 +25,10 @@ func AddEvent(ctx context.Context, relay Relay, evt nostr.Event) (accepted bool,
|
||||
// do not store ephemeral events
|
||||
} else {
|
||||
if advancedSaver != nil {
|
||||
advancedSaver.BeforeSave(ctx, &evt)
|
||||
advancedSaver.BeforeSave(ctx, evt)
|
||||
}
|
||||
|
||||
if saveErr := store.SaveEvent(ctx, &evt); saveErr != nil {
|
||||
if saveErr := store.SaveEvent(ctx, evt); saveErr != nil {
|
||||
switch saveErr {
|
||||
case storage.ErrDupEvent:
|
||||
return true, saveErr.Error()
|
||||
@ -33,11 +38,11 @@ func AddEvent(ctx context.Context, relay Relay, evt nostr.Event) (accepted bool,
|
||||
}
|
||||
|
||||
if advancedSaver != nil {
|
||||
advancedSaver.AfterSave(&evt)
|
||||
advancedSaver.AfterSave(evt)
|
||||
}
|
||||
}
|
||||
|
||||
notifyListeners(&evt)
|
||||
notifyListeners(evt)
|
||||
|
||||
return true, ""
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ func (s *Server) HandleWebsocket(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
ok, message := AddEvent(ctx, s.relay, evt)
|
||||
ok, message := AddEvent(ctx, s.relay, &evt)
|
||||
ws.WriteJSON([]interface{}{"OK", evt.ID, ok, message})
|
||||
|
||||
case "COUNT":
|
||||
|
Loading…
x
Reference in New Issue
Block a user