mirror of
https://github.com/element-hq/synapse
synced 2024-08-20 01:30:20 +00:00
Add joined_rooms servlet
This commit is contained in:
parent
0d81e26769
commit
de796f27e6
1 changed files with 17 additions and 0 deletions
|
@ -692,6 +692,22 @@ class SearchRestServlet(ClientV1RestServlet):
|
||||||
defer.returnValue((200, results))
|
defer.returnValue((200, results))
|
||||||
|
|
||||||
|
|
||||||
|
class JoinedRoomsRestServlet(ClientV1RestServlet):
|
||||||
|
PATTERNS = client_path_patterns("/joined_rooms$")
|
||||||
|
|
||||||
|
def __init__(self, hs):
|
||||||
|
super(JoinedRoomsRestServlet, self).__init__(hs)
|
||||||
|
self.store = hs.get_datastore()
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def on_GET(self, request):
|
||||||
|
requester = yield self.auth.get_user_by_req(request, allow_guest=True)
|
||||||
|
|
||||||
|
rooms = yield self.store.get_rooms_for_user(requester.user.to_string())
|
||||||
|
room_ids = set(r.room_id for r in rooms) # Ensure they're unique.
|
||||||
|
defer.returnValue((200, {"joined_rooms": list(room_ids)}))
|
||||||
|
|
||||||
|
|
||||||
def register_txn_path(servlet, regex_string, http_server, with_get=False):
|
def register_txn_path(servlet, regex_string, http_server, with_get=False):
|
||||||
"""Registers a transaction-based path.
|
"""Registers a transaction-based path.
|
||||||
|
|
||||||
|
@ -738,4 +754,5 @@ def register_servlets(hs, http_server):
|
||||||
RoomRedactEventRestServlet(hs).register(http_server)
|
RoomRedactEventRestServlet(hs).register(http_server)
|
||||||
RoomTypingRestServlet(hs).register(http_server)
|
RoomTypingRestServlet(hs).register(http_server)
|
||||||
SearchRestServlet(hs).register(http_server)
|
SearchRestServlet(hs).register(http_server)
|
||||||
|
JoinedRoomsRestServlet(hs).register(http_server)
|
||||||
RoomEventContext(hs).register(http_server)
|
RoomEventContext(hs).register(http_server)
|
||||||
|
|
Loading…
Reference in a new issue