summary refs log tree commit diff
path: root/synapse/handlers/room.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-01-06 10:55:43 +0000
committerErik Johnston <erik@matrix.org>2015-01-06 10:55:43 +0000
commitf0128f9600c59fbcb993bccbbbb32486009694d7 (patch)
tree65aaaabcd27fb2f7b679bfc271d186e7de1d82e8 /synapse/handlers/room.py
parentMerge branch 'develop' of github.com:matrix-org/synapse into erikj-perf (diff)
downloadsynapse-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.py13
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})