diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2021-07-09 16:36:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-09 16:36:45 +0100 |
commit | c8408a6387f6d155fe4e0547cbfdde7123832c84 (patch) | |
tree | dafecdf16214eefcb995e75734c60421eb6304e8 /roomserver/storage/shared/storage.go | |
parent | 3e50bac9441ae43387fee510d5838039bc07e0bb (diff) |
Add more optimised code path for checking if we're in a room (#1909)
* Add more optimised code path for checking if we're in a room
* Fix database queries
* Fix federation API test
* Fix logging
* Review comments
* Make separate API call for room membership
Diffstat (limited to 'roomserver/storage/shared/storage.go')
-rw-r--r-- | roomserver/storage/shared/storage.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/roomserver/storage/shared/storage.go b/roomserver/storage/shared/storage.go index e77d62e0..9d9434cb 100644 --- a/roomserver/storage/shared/storage.go +++ b/roomserver/storage/shared/storage.go @@ -1059,6 +1059,11 @@ func (d *Database) JoinedUsersSetInRooms(ctx context.Context, roomIDs []string) return result, nil } +// GetLocalServerInRoom returns true if we think we're in a given room or false otherwise. +func (d *Database) GetLocalServerInRoom(ctx context.Context, roomNID types.RoomNID) (bool, error) { + return d.MembershipTable.SelectLocalServerInRoom(ctx, roomNID) +} + // GetKnownUsers searches all users that userID knows about. func (d *Database) GetKnownUsers(ctx context.Context, userID, searchString string, limit int) ([]string, error) { stateKeyNID, err := d.EventStateKeysTable.SelectEventStateKeyNID(ctx, nil, userID) |