Implement gomatrixserverlib.HeaderedEvent in roomserver query API (#912)

* Implement gomatrixserverlib.HeaderedEvent, which should allow us to store room version headers along with the event across API boundaries and consumers/producers, and intercept unmarshalling to get the event structure right

* Add federationsender to previous
This commit is contained in:
Neil Alexander 2020-03-16 17:29:52 +00:00 committed by GitHub
parent 452f393dd7
commit acb505b717
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 163 additions and 36 deletions

View file

@ -138,7 +138,9 @@ func (s *OutputRoomEventConsumer) lookupStateEvents(
return nil, err
}
result = append(result, eventResp.Events...)
for _, headeredEvent := range eventResp.Events {
result = append(result, headeredEvent.Event)
}
return result, nil
}

View file

@ -66,7 +66,7 @@ func GetEvent(
}
}
requestedEvent := eventsResp.Events[0]
requestedEvent := eventsResp.Events[0].Event
r := getEventRequest{
req: req,

View file

@ -144,7 +144,7 @@ func generateSendEvent(
// check to see if this user can perform this operation
stateEvents := make([]*gomatrixserverlib.Event, len(queryRes.StateEvents))
for i := range queryRes.StateEvents {
stateEvents[i] = &queryRes.StateEvents[i]
stateEvents[i] = &queryRes.StateEvents[i].Event
}
provider := gomatrixserverlib.NewAuthEvents(stateEvents)
if err = gomatrixserverlib.Allowed(*e, &provider); err != nil {