mirror of
https://github.com/fiatjaf/khatru.git
synced 2026-06-03 17:23:03 +02:00
implement nip-09, event deletion.
This commit is contained in:
14
handlers.go
14
handlers.go
@@ -4,6 +4,7 @@ import (
|
||||
"crypto/sha256"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
@@ -119,6 +120,19 @@ func handleWebsocket(relay Relay) func(http.ResponseWriter, *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
if evt.Kind == 5 {
|
||||
// event deletion -- nip09
|
||||
for _, tag := range evt.Tags {
|
||||
if len(tag) >= 2 && tag[0] == "e" {
|
||||
if err := relay.DeleteEvent(tag[1], evt.PubKey); err != nil {
|
||||
notice = fmt.Sprintf("failed to delete: %s", err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
err = relay.SaveEvent(&evt)
|
||||
if err != nil {
|
||||
notice = err.Error()
|
||||
|
||||
@@ -11,6 +11,7 @@ type Relay interface {
|
||||
Name() string
|
||||
Init() error
|
||||
SaveEvent(*nostr.Event) error
|
||||
DeleteEvent(id string, pubkey string) error
|
||||
QueryEvents(*nostr.Filter) ([]nostr.Event, error)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user