diff options
author | kegsay <kegan@matrix.org> | 2023-05-02 15:03:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-02 15:03:16 +0100 |
commit | f5b3144dc33ddcb2ab161323d422cab257d04b4c (patch) | |
tree | 07d3b03944d2529d96c29674a96c3e76a76ae3b9 /internal | |
parent | 696cbb70b8cc8d663f7bb7c7a5f25cd57ea6803e (diff) |
Use PDU not *Event in HeaderedEvent (#3073)
Requires https://github.com/matrix-org/gomatrixserverlib/pull/376
This has numerous upsides:
- Less type casting to `*Event` is required.
- Making Dendrite work with `PDU` interfaces means we can swap out Event
impls more easily.
- Tests which represent weird event shapes are easier to write.
Part of a series of refactors on GMSL.
Diffstat (limited to 'internal')
-rw-r--r-- | internal/eventutil/events.go | 6 | ||||
-rw-r--r-- | internal/transactionrequest.go | 2 | ||||
-rw-r--r-- | internal/transactionrequest_test.go | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/internal/eventutil/events.go b/internal/eventutil/events.go index 72408d2f..1d727ec4 100644 --- a/internal/eventutil/events.go +++ b/internal/eventutil/events.go @@ -77,7 +77,7 @@ func BuildEvent( return nil, err } - return &types.HeaderedEvent{Event: event}, nil + return &types.HeaderedEvent{PDU: event}, nil } // queryRequiredEventsForBuilder queries the roomserver for auth/prev events needed for this builder. @@ -124,7 +124,7 @@ func addPrevEventsToEvent( authEvents := gomatrixserverlib.NewAuthEvents(nil) for i := range queryRes.StateEvents { - err = authEvents.AddEvent(queryRes.StateEvents[i].Event) + err = authEvents.AddEvent(queryRes.StateEvents[i].PDU) if err != nil { return fmt.Errorf("authEvents.AddEvent: %w", err) } @@ -175,7 +175,7 @@ func truncateAuthAndPrevEvents(auth, prev []gomatrixserverlib.EventReference) ( // RedactEvent redacts the given event and sets the unsigned field appropriately. This should be used by // downstream components to the roomserver when an OutputTypeRedactedEvent occurs. -func RedactEvent(redactionEvent, redactedEvent *gomatrixserverlib.Event) error { +func RedactEvent(redactionEvent, redactedEvent gomatrixserverlib.PDU) error { // sanity check if redactionEvent.Type() != spec.MRoomRedaction { return fmt.Errorf("RedactEvent: redactionEvent isn't a redaction event, is '%s'", redactionEvent.Type()) diff --git a/internal/transactionrequest.go b/internal/transactionrequest.go index 29107b4d..0d250325 100644 --- a/internal/transactionrequest.go +++ b/internal/transactionrequest.go @@ -184,7 +184,7 @@ func (t *TxnReq) ProcessTransaction(ctx context.Context) (*fclient.RespSend, *ut t.rsAPI, api.KindNew, []*rstypes.HeaderedEvent{ - {Event: event}, + {PDU: event}, }, t.Destination, t.Origin, diff --git a/internal/transactionrequest_test.go b/internal/transactionrequest_test.go index 94901088..c884ebfc 100644 --- a/internal/transactionrequest_test.go +++ b/internal/transactionrequest_test.go @@ -636,7 +636,7 @@ func init() { if err != nil { panic("cannot load test data: " + err.Error()) } - h := &rstypes.HeaderedEvent{Event: e} + h := &rstypes.HeaderedEvent{PDU: e} testEvents = append(testEvents, h) if e.StateKey() != nil { testStateEvents[gomatrixserverlib.StateKeyTuple{ |