Phase 5: promote EventTraveller.Event to ValidatedEvent; remove temporary adapter

This commit is contained in:
Jay
2026-05-22 16:36:16 -04:00
parent 04e6c4fc57
commit 83787aed1c
2 changed files with 9 additions and 11 deletions
+7 -9
View File
@@ -19,7 +19,7 @@ type WriteOptions struct {
type EventTraveller struct { type EventTraveller struct {
ID string ID string
JSON []byte JSON []byte
Event roots.Event Event roots.ValidatedEvent
Subgraph *EventSubgraph Subgraph *EventSubgraph
Error error Error error
} }
@@ -95,23 +95,23 @@ func createEventTravellers(jsons [][]byte) []EventTraveller {
func parseEventJSON(in []EventTraveller) (parsed []EventTraveller, excluded []EventTraveller) { func parseEventJSON(in []EventTraveller) (parsed []EventTraveller, excluded []EventTraveller) {
for _, traveller := range in { for _, traveller := range in {
var event roots.Event var raw roots.Event
err := json.Unmarshal(traveller.JSON, &event) err := json.Unmarshal(traveller.JSON, &raw)
if err != nil { if err != nil {
traveller.Error = fmt.Errorf("rejected: %w: %w", ErrMalformedJSON, err) traveller.Error = fmt.Errorf("rejected: %w: %w", ErrMalformedJSON, err)
excluded = append(excluded, traveller) excluded = append(excluded, traveller)
continue continue
} }
err = roots.Validate(event) validated, err := roots.NewValidatedEvent(raw)
if err != nil { if err != nil {
traveller.Error = fmt.Errorf("rejected: %w: %w", ErrInvalidEvent, err) traveller.Error = fmt.Errorf("rejected: %w: %w", ErrInvalidEvent, err)
excluded = append(excluded, traveller) excluded = append(excluded, traveller)
continue continue
} }
traveller.ID = event.ID traveller.ID = validated.ID()
traveller.Event = event traveller.Event = validated
parsed = append(parsed, traveller) parsed = append(parsed, traveller)
} }
return parsed, excluded return parsed, excluded
@@ -146,9 +146,7 @@ func enforcePolicyRules(in []EventTraveller, boltdb *bolt.DB, batchSize int) (qu
func convertEventsToSubgraphs(in []EventTraveller, expanders ExpanderPipeline) []EventTraveller { func convertEventsToSubgraphs(in []EventTraveller, expanders ExpanderPipeline) []EventTraveller {
for i, traveller := range in { for i, traveller := range in {
// TODO: temporary adapter — removed in Phase 5 in[i].Subgraph = EventToSubgraph(traveller.Event, expanders)
validated, _ := roots.NewValidatedEvent(traveller.Event)
in[i].Subgraph = EventToSubgraph(validated, expanders)
} }
return in return in
} }
+2 -2
View File
@@ -133,7 +133,7 @@ func TestParseEventJSON(t *testing.T) {
for _, reject := range rejected { for _, reject := range rejected {
assert.NotNil(t, reject.Error) assert.NotNil(t, reject.Error)
assert.Empty(t, reject.Event.ID) assert.Empty(t, reject.Event.ID())
} }
}) })
} }
@@ -224,7 +224,7 @@ func TestConvertEventsToSubgraphs(t *testing.T) {
}{ }{
{ {
name: "event with no tags", name: "event with no tags",
traveller: EventTraveller{Event: fx.ValidatedEvent(t, "bare").Event()}, traveller: EventTraveller{Event: fx.ValidatedEvent(t, "bare")},
wantNodeCount: 2, // event + user wantNodeCount: 2, // event + user
wantRelCount: 1, // signed wantRelCount: 1, // signed
}, },