Pass pointers to events — reloaded (#1583)

* Pass events as pointers

* Fix lint errors

* Update gomatrixserverlib

* Update gomatrixserverlib

* Update to matrix-org/gomatrixserverlib#240
This commit is contained in:
Neil Alexander 2020-11-16 15:44:53 +00:00 committed by GitHub
parent d8b526b603
commit 20a01bceb2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
67 changed files with 310 additions and 323 deletions

View file

@ -255,7 +255,7 @@ func createRoom(
historyVisibility = historyVisibilityShared
}
var builtEvents []gomatrixserverlib.HeaderedEvent
var builtEvents []*gomatrixserverlib.HeaderedEvent
// send events into the room in order of:
// 1- m.room.create
@ -327,13 +327,13 @@ func createRoom(
return jsonerror.InternalServerError()
}
if err = gomatrixserverlib.Allowed(*ev, &authEvents); err != nil {
if err = gomatrixserverlib.Allowed(ev, &authEvents); err != nil {
util.GetLogger(req.Context()).WithError(err).Error("gomatrixserverlib.Allowed failed")
return jsonerror.InternalServerError()
}
// Add the event to the list of auth events
builtEvents = append(builtEvents, (*ev).Headered(roomVersion))
builtEvents = append(builtEvents, ev.Headered(roomVersion))
err = authEvents.AddEvent(ev)
if err != nil {
util.GetLogger(req.Context()).WithError(err).Error("authEvents.AddEvent failed")
@ -397,7 +397,7 @@ func createRoom(
ev := event.Event
globalStrippedState = append(
globalStrippedState,
gomatrixserverlib.NewInviteV2StrippedState(&ev),
gomatrixserverlib.NewInviteV2StrippedState(ev),
)
}
}
@ -415,7 +415,7 @@ func createRoom(
}
inviteStrippedState := append(
globalStrippedState,
gomatrixserverlib.NewInviteV2StrippedState(&inviteEvent.Event),
gomatrixserverlib.NewInviteV2StrippedState(inviteEvent.Event),
)
// Send the invite event to the roomserver.
err = roomserverAPI.SendInvite(
@ -488,5 +488,5 @@ func buildEvent(
if err != nil {
return nil, fmt.Errorf("cannot build event %s : Builder failed to build. %w", builder.Type, err)
}
return &event, nil
return event, nil
}

View file

@ -32,7 +32,7 @@ type getEventRequest struct {
eventID string
cfg *config.ClientAPI
federation *gomatrixserverlib.FederationClient
requestedEvent gomatrixserverlib.Event
requestedEvent *gomatrixserverlib.Event
}
// GetEvent implements GET /_matrix/client/r0/rooms/{roomId}/event/{eventId}

View file

@ -77,7 +77,7 @@ func sendMembership(ctx context.Context, accountDB accounts.Database, device *us
if err = roomserverAPI.SendEvents(
ctx, rsAPI,
api.KindNew,
[]gomatrixserverlib.HeaderedEvent{event.Event.Headered(roomVer)},
[]*gomatrixserverlib.HeaderedEvent{event.Event.Headered(roomVer)},
cfg.Matrix.ServerName,
nil,
); err != nil {
@ -214,7 +214,7 @@ func SendInvite(
err = roomserverAPI.SendInvite(
req.Context(), rsAPI,
*event,
event,
nil, // ask the roomserver to draw up invite room state for us
cfg.Matrix.ServerName,
nil,

View file

@ -346,14 +346,14 @@ func buildMembershipEvents(
roomIDs []string,
newProfile authtypes.Profile, userID string, cfg *config.ClientAPI,
evTime time.Time, rsAPI api.RoomserverInternalAPI,
) ([]gomatrixserverlib.HeaderedEvent, error) {
evs := []gomatrixserverlib.HeaderedEvent{}
) ([]*gomatrixserverlib.HeaderedEvent, error) {
evs := []*gomatrixserverlib.HeaderedEvent{}
for _, roomID := range roomIDs {
verReq := api.QueryRoomVersionForRoomRequest{RoomID: roomID}
verRes := api.QueryRoomVersionForRoomResponse{}
if err := rsAPI.QueryRoomVersionForRoom(ctx, &verReq, &verRes); err != nil {
return []gomatrixserverlib.HeaderedEvent{}, err
return nil, err
}
builder := gomatrixserverlib.EventBuilder{
@ -379,7 +379,7 @@ func buildMembershipEvents(
return nil, err
}
evs = append(evs, (*event).Headered(verRes.RoomVersion))
evs = append(evs, event.Headered(verRes.RoomVersion))
}
return evs, nil

View file

@ -121,7 +121,7 @@ func SendRedaction(
JSON: jsonerror.NotFound("Room does not exist"),
}
}
if err = roomserverAPI.SendEvents(context.Background(), rsAPI, api.KindNew, []gomatrixserverlib.HeaderedEvent{*e}, cfg.Matrix.ServerName, nil); err != nil {
if err = roomserverAPI.SendEvents(context.Background(), rsAPI, api.KindNew, []*gomatrixserverlib.HeaderedEvent{e}, cfg.Matrix.ServerName, nil); err != nil {
util.GetLogger(req.Context()).WithError(err).Errorf("failed to SendEvents")
return jsonerror.InternalServerError()
}

View file

@ -93,7 +93,7 @@ func SendEvent(
if err := api.SendEvents(
req.Context(), rsAPI,
api.KindNew,
[]gomatrixserverlib.HeaderedEvent{
[]*gomatrixserverlib.HeaderedEvent{
e.Headered(verRes.RoomVersion),
},
cfg.Matrix.ServerName,
@ -189,7 +189,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].Event
stateEvents[i] = queryRes.StateEvents[i].Event
}
provider := gomatrixserverlib.NewAuthEvents(stateEvents)
if err = gomatrixserverlib.Allowed(e.Event, &provider); err != nil {
@ -198,5 +198,5 @@ func generateSendEvent(
JSON: jsonerror.Forbidden(err.Error()), // TODO: Is this error string comprehensible to the client?
}
}
return &e.Event, nil
return e.Event, nil
}

View file

@ -267,7 +267,7 @@ func OnIncomingStateTypeRequest(
// to find the state event, if provided.
for _, ev := range stateRes.StateEvents {
if ev.Type() == evType && ev.StateKeyEquals(stateKey) {
event = &ev
event = ev
break
}
}
@ -290,7 +290,7 @@ func OnIncomingStateTypeRequest(
return jsonerror.InternalServerError()
}
if len(stateAfterRes.StateEvents) > 0 {
event = &stateAfterRes.StateEvents[0]
event = stateAfterRes.StateEvents[0]
}
}
@ -304,7 +304,7 @@ func OnIncomingStateTypeRequest(
}
stateEvent := stateEventInStateResp{
ClientEvent: gomatrixserverlib.HeaderedToClientEvent(*event, gomatrixserverlib.FormatAll),
ClientEvent: gomatrixserverlib.HeaderedToClientEvent(event, gomatrixserverlib.FormatAll),
}
var res interface{}

View file

@ -362,8 +362,8 @@ func emit3PIDInviteEvent(
return api.SendEvents(
ctx, rsAPI,
api.KindNew,
[]gomatrixserverlib.HeaderedEvent{
(*event).Headered(queryRes.RoomVersion),
[]*gomatrixserverlib.HeaderedEvent{
event.Headered(queryRes.RoomVersion),
},
cfg.Matrix.ServerName,
nil,