diff options
author | Kegsay <kegan@matrix.org> | 2020-06-24 15:06:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-24 15:06:14 +0100 |
commit | 002fe05a203e316818c108a0dac438e5cd796a68 (patch) | |
tree | bc597b82d09007d9cff14bf2c4c6557bfe9eb125 /roomserver/api/input.go | |
parent | ebaaf65c54a624e693341e32619806028a45ba2f (diff) |
Add PerformInvite and refactor how errors get handled (#1158)
* Add PerformInvite and refactor how errors get handled
- Rename `JoinError` to `PerformError`
- Remove `error` from the API function signature entirely. This forces
errors to be bundled into `PerformError` which makes it easier for callers
to detect and handle errors. On network errors, HTTP clients will make a
`PerformError`.
* Unbreak everything; thanks Go!
* Send back JSONResponse according to the PerformError
* Update federation invite code too
Diffstat (limited to 'roomserver/api/input.go')
-rw-r--r-- | roomserver/api/input.go | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/roomserver/api/input.go b/roomserver/api/input.go index 6c3c8941..05c981df 100644 --- a/roomserver/api/input.go +++ b/roomserver/api/input.go @@ -76,21 +76,9 @@ type TransactionID struct { TransactionID string `json:"id"` } -// InputInviteEvent is a matrix invite event received over federation without -// the usual context a matrix room event would have. We usually do not have -// access to the events needed to check the event auth rules for the invite. -type InputInviteEvent struct { - RoomVersion gomatrixserverlib.RoomVersion `json:"room_version"` - Event gomatrixserverlib.HeaderedEvent `json:"event"` - InviteRoomState []gomatrixserverlib.InviteV2StrippedState `json:"invite_room_state"` - SendAsServer string `json:"send_as_server"` - TransactionID *TransactionID `json:"transaction_id"` -} - // InputRoomEventsRequest is a request to InputRoomEvents type InputRoomEventsRequest struct { - InputRoomEvents []InputRoomEvent `json:"input_room_events"` - InputInviteEvents []InputInviteEvent `json:"input_invite_events"` + InputRoomEvents []InputRoomEvent `json:"input_room_events"` } // InputRoomEventsResponse is a response to InputRoomEvents |