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 { var intermediate struct {
Event json.RawMessage `json:"event"` 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"` RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"`
} }

View file

@ -88,7 +88,7 @@ type TransactionID struct {
type InputInviteEvent struct { type InputInviteEvent struct {
RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"` RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"`
Event gomatrixserverlib.HeaderedEvent `json:"event"` 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 // InputRoomEventsRequest is a request to InputRoomEvents

View file

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