diff options
| author | bndw <ben@bdw.to> | 2026-02-13 20:36:12 -0800 |
|---|---|---|
| committer | bndw <ben@bdw.to> | 2026-02-13 20:36:12 -0800 |
| commit | 89b8948195f24df127b7ae656ab3f60bd1b49ac7 (patch) | |
| tree | 2c6fc91e053039e4ad53ee0a72038b1b99f8c50c /internal/handler | |
| parent | 656748ea286ff7eac6cbe1b241ad31212892ba61 (diff) | |
refactor: simplify deletion handling (remove NIP-09 processing)
Remove deletion processing logic in favor of simpler approach:
- Remove deletions table from schema
- Delete deletions.go and deletions_test.go
- Remove ProcessDeletion from EventStore interface
- Kind 5 events now stored like any other event (no special handling)
- Update storage test to expect 2 tables instead of 3
- All 41 tests passing
Diffstat (limited to 'internal/handler')
| -rw-r--r-- | internal/handler/grpc/server.go | 11 | ||||
| -rw-r--r-- | internal/handler/websocket/handler.go | 8 |
2 files changed, 0 insertions, 19 deletions
diff --git a/internal/handler/grpc/server.go b/internal/handler/grpc/server.go index b1ffd96..b65b527 100644 --- a/internal/handler/grpc/server.go +++ b/internal/handler/grpc/server.go | |||
| @@ -13,7 +13,6 @@ import ( | |||
| 13 | type EventStore interface { | 13 | type EventStore interface { |
| 14 | StoreEvent(context.Context, *storage.EventData) error | 14 | StoreEvent(context.Context, *storage.EventData) error |
| 15 | QueryEvents(context.Context, []*pb.Filter, *storage.QueryOptions) ([]*pb.Event, error) | 15 | QueryEvents(context.Context, []*pb.Filter, *storage.QueryOptions) ([]*pb.Event, error) |
| 16 | ProcessDeletion(context.Context, *pb.Event) error | ||
| 17 | } | 16 | } |
| 18 | 17 | ||
| 19 | type Server struct { | 18 | type Server struct { |
| @@ -76,16 +75,6 @@ func (s *Server) PublishEvent(ctx context.Context, req *pb.PublishEventRequest) | |||
| 76 | return nil, fmt.Errorf("failed to store event: %w", err) | 75 | return nil, fmt.Errorf("failed to store event: %w", err) |
| 77 | } | 76 | } |
| 78 | 77 | ||
| 79 | if req.Event.Kind == 5 { | ||
| 80 | if err := s.store.ProcessDeletion(ctx, req.Event); err != nil { | ||
| 81 | return &pb.PublishEventResponse{ | ||
| 82 | Accepted: false, | ||
| 83 | Message: fmt.Sprintf("deletion processing failed: %v", err), | ||
| 84 | CanonicalJson: canonicalJSON, | ||
| 85 | }, nil | ||
| 86 | } | ||
| 87 | } | ||
| 88 | |||
| 89 | s.subs.MatchAndFan(req.Event) | 78 | s.subs.MatchAndFan(req.Event) |
| 90 | 79 | ||
| 91 | return &pb.PublishEventResponse{ | 80 | return &pb.PublishEventResponse{ |
diff --git a/internal/handler/websocket/handler.go b/internal/handler/websocket/handler.go index 4a7db0d..38d4fa6 100644 --- a/internal/handler/websocket/handler.go +++ b/internal/handler/websocket/handler.go | |||
| @@ -17,7 +17,6 @@ import ( | |||
| 17 | type EventStore interface { | 17 | type EventStore interface { |
| 18 | StoreEvent(context.Context, *storage.EventData) error | 18 | StoreEvent(context.Context, *storage.EventData) error |
| 19 | QueryEvents(context.Context, []*pb.Filter, *storage.QueryOptions) ([]*pb.Event, error) | 19 | QueryEvents(context.Context, []*pb.Filter, *storage.QueryOptions) ([]*pb.Event, error) |
| 20 | ProcessDeletion(context.Context, *pb.Event) error | ||
| 21 | } | 20 | } |
| 22 | 21 | ||
| 23 | type Handler struct { | 22 | type Handler struct { |
| @@ -131,13 +130,6 @@ func (h *Handler) handleEvent(ctx context.Context, conn *websocket.Conn, raw []j | |||
| 131 | return nil | 130 | return nil |
| 132 | } | 131 | } |
| 133 | 132 | ||
| 134 | if pbEvent.Kind == 5 { | ||
| 135 | if err := h.store.ProcessDeletion(ctx, pbEvent); err != nil { | ||
| 136 | h.sendOK(ctx, conn, event.ID, false, fmt.Sprintf("deletion failed: %v", err)) | ||
| 137 | return nil | ||
| 138 | } | ||
| 139 | } | ||
| 140 | |||
| 141 | h.subs.MatchAndFan(pbEvent) | 133 | h.subs.MatchAndFan(pbEvent) |
| 142 | 134 | ||
| 143 | h.sendOK(ctx, conn, event.ID, true, "") | 135 | h.sendOK(ctx, conn, event.ID, true, "") |
