diff options
author | Erik Johnston <erik@matrix.org> | 2015-01-06 10:55:43 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-01-06 10:55:43 +0000 |
commit | f0128f9600c59fbcb993bccbbbb32486009694d7 (patch) | |
tree | 65aaaabcd27fb2f7b679bfc271d186e7de1d82e8 /synapse/handlers/room.py | |
parent | Merge branch 'develop' of github.com:matrix-org/synapse into erikj-perf (diff) | |
download | synapse-f0128f9600c59fbcb993bccbbbb32486009694d7.tar.xz |
Add RoomMemberStore.get_users_in_room, so that we can get the list of joined users without having to retrieve the full events
Diffstat (limited to 'synapse/handlers/room.py')
-rw-r--r-- | synapse/handlers/room.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index deefc3c11e..5e5d95add1 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -245,14 +245,12 @@ class RoomMemberHandler(BaseHandler): self.distributor.declare("user_left_room") @defer.inlineCallbacks - def get_room_members(self, room_id, membership=Membership.JOIN): + def get_room_members(self, room_id): hs = self.hs - memberships = yield self.store.get_room_members( - room_id=room_id, membership=membership - ) + users = yield self.store.get_users_in_room(room_id) - defer.returnValue([hs.parse_userid(m.user_id) for m in memberships]) + defer.returnValue([hs.parse_userid(u) for u in users]) @defer.inlineCallbacks def fetch_room_distributions_into(self, room_id, localusers=None, @@ -531,11 +529,10 @@ class RoomListHandler(BaseHandler): def get_public_room_list(self): chunk = yield self.store.get_rooms(is_public=True) for room in chunk: - joined_members = yield self.store.get_room_members( + joined_users = yield self.store.get_users_in_room( room_id=room["room_id"], - membership=Membership.JOIN ) - room["num_joined_members"] = len(joined_members) + room["num_joined_members"] = len(joined_users) # FIXME (erikj): START is no longer a valid value defer.returnValue({"start": "START", "end": "END", "chunk": chunk}) |