Consistent JSON keys, really correct this time

This commit is contained in:
Neil Alexander 2020-04-23 15:51:06 +01:00
parent a47b6b712c
commit 1de1640cc4
3 changed files with 9 additions and 10 deletions

View file

@ -41,7 +41,7 @@ func Invite(
var intermediate struct {
Event json.RawMessage `json:"event"`
InviteRoomState []json.RawMessage `json:"invite_stripped_state"`
InviteRoomState []json.RawMessage `json:"invite_room_state"`
RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"`
}

View file

@ -88,7 +88,7 @@ type TransactionID struct {
type InputInviteEvent struct {
RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"`
Event gomatrixserverlib.HeaderedEvent `json:"event"`
InviteRoomState []gomatrixserverlib.InviteV2StrippedState `json:"invite_stripped_state"`
InviteRoomState []gomatrixserverlib.InviteV2StrippedState `json:"invite_room_state"`
}
// InputRoomEventsRequest is a request to InputRoomEvents

View file

@ -248,13 +248,12 @@ func processInviteEvent(
}
event := input.Event.Unwrap()
inviteStrippedState := []gomatrixserverlib.InviteV2StrippedState{}
if len(input.InviteRoomState) > 0 {
// If we were supplied with some invite room state then let's use that.
// This will ordinarily happen over federation.
if err = event.SetUnsignedField("invite_room_state", input.InviteRoomState); err != nil {
return err
}
inviteStrippedState = input.InviteRoomState
} else {
// Otherwise, we should see if we know anything about the room state
// locally. If we have local knowledge of the room, use the locally known
@ -289,16 +288,16 @@ func processInviteEvent(
if err != nil {
return err
}
strippedState := []gomatrixserverlib.InviteV2StrippedState{}
for _, event := range stateEvents {
strippedState = append(strippedState, gomatrixserverlib.NewInviteV2StrippedState(&event.Event))
}
if err = event.SetUnsignedField("invite_room_state", strippedState); err != nil {
return err
inviteStrippedState = append(inviteStrippedState, gomatrixserverlib.NewInviteV2StrippedState(&event.Event))
}
}
}
if err = event.SetUnsignedField("invite_room_state", inviteStrippedState); err != nil {
return err
}
outputUpdates, err := updateToInviteMembership(updater, &event, nil, input.Event.RoomVersion)
if err != nil {
return err