Roomserver perform leave (#1004)

* First pass at PerformLeave

* Fix SQLite bulkSelectEventStateKey

* Update gomatrixserverlib

* Fix bugs

* Tidy a bit

* Satisfy King Linter

* Review comments

* Review comments

* Fix constants in SQLite event state keys table
This commit is contained in:
Neil Alexander 2020-05-04 18:34:09 +01:00 committed by GitHub
parent df80e42408
commit 9b1b095b49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 394 additions and 14 deletions

View file

@ -116,7 +116,7 @@ func (r *RoomserverInternalAPI) performJoinRoomByID(
if req.Content == nil {
req.Content = map[string]interface{}{}
}
req.Content["membership"] = "join"
req.Content["membership"] = gomatrixserverlib.Join
if err = eb.SetContent(req.Content); err != nil {
return fmt.Errorf("eb.SetContent: %w", err)
}
@ -145,7 +145,7 @@ func (r *RoomserverInternalAPI) performJoinRoomByID(
for _, se := range buildRes.StateEvents {
if membership, merr := se.Membership(); merr == nil {
if se.StateKey() != nil && *se.StateKey() == *event.StateKey() {
alreadyJoined = (membership == "join")
alreadyJoined = (membership == gomatrixserverlib.Join)
break
}
}
@ -156,7 +156,7 @@ func (r *RoomserverInternalAPI) performJoinRoomByID(
if !alreadyJoined {
inputReq := api.InputRoomEventsRequest{
InputRoomEvents: []api.InputRoomEvent{
api.InputRoomEvent{
{
Kind: api.KindNew,
Event: event.Headered(buildRes.RoomVersion),
AuthEventIDs: event.AuthEventIDs(),