Skip to content

Commit c55b638

Browse files
committed
- Query parameter renamed and description adjusted.
- catch-block with print-statement removed.
1 parent f09d000 commit c55b638

File tree

4 files changed

+29
-29
lines changed

4 files changed

+29
-29
lines changed

docs/admin_api/rooms.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,10 @@ The following query parameters are available:
3636
- the room's name,
3737
- the local part of the room's canonical alias, or
3838
- the complete (local and server part) room's id (case sensitive).
39-
* `filter_public_rooms` - Flag to filter public and non-public rooms.
40-
* `filter_empty_rooms` - Flag to filter empty and non-empty rooms. A room is empty if joined_members is zero.
39+
* `public_rooms` - Optional flag to filter public rooms. If `true`, only public rooms are queried. If `false`, public rooms are excluded from
40+
the query. When the flag is absent (the default), **both** public and non-public rooms are included in the search results.
41+
* `empty_rooms` - Optional flag to filter empty rooms. A room is empty if joined_members is zero. If `true`, only empty rooms are queried. If `false`, empty rooms are excluded from
42+
the query. When the flag is absent (the default), **both** empty and non-empty rooms are included in the search results.
4143

4244
Defaults to no filtering.
4345

synapse/rest/admin/rooms.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -243,24 +243,22 @@ async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
243243
errcode=Codes.INVALID_PARAM,
244244
)
245245

246-
filter_public_rooms = parse_boolean(request, "filter_public_rooms")
247-
filter_empty_rooms = parse_boolean(request, "filter_empty_rooms")
246+
public_rooms = parse_boolean(request, "public_rooms")
247+
empty_rooms = parse_boolean(request, "empty_rooms")
248248

249249
direction = parse_enum(request, "dir", Direction, default=Direction.FORWARDS)
250250
reverse_order = True if direction == Direction.BACKWARDS else False
251-
try:
252-
# Return list of rooms according to parameters
253-
rooms, total_rooms = await self.store.get_rooms_paginate(
254-
start,
255-
limit,
256-
order_by,
257-
reverse_order,
258-
search_term,
259-
filter_public_rooms,
260-
filter_empty_rooms,
261-
)
262-
except Exception as e:
263-
print(e)
251+
252+
# Return list of rooms according to parameters
253+
rooms, total_rooms = await self.store.get_rooms_paginate(
254+
start,
255+
limit,
256+
order_by,
257+
reverse_order,
258+
search_term,
259+
public_rooms,
260+
empty_rooms,
261+
)
264262

265263
response = {
266264
# next_token should be opaque, so return a value the client can parse

synapse/storage/databases/main/room.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -606,8 +606,8 @@ async def get_rooms_paginate(
606606
order_by: str,
607607
reverse_order: bool,
608608
search_term: Optional[str],
609-
filter_public_rooms: Optional[bool],
610-
filter_empty_rooms: Optional[bool],
609+
public_rooms: Optional[bool],
610+
empty_rooms: Optional[bool],
611611
) -> Tuple[List[Dict[str, Any]], int]:
612612
"""Function to retrieve a paginated list of rooms as json.
613613
@@ -619,10 +619,10 @@ async def get_rooms_paginate(
619619
search_term: a string to filter room names,
620620
canonical alias and room ids by.
621621
Room ID must match exactly. Canonical alias must match a substring of the local part.
622-
filter_public_rooms: Optional flag to filter public and non-public rooms. If true, public rooms are queried.
622+
public_rooms: Optional flag to filter public and non-public rooms. If true, public rooms are queried.
623623
if false, public rooms are excluded from the query. When it is
624624
none (the default), both public rooms and none-public-rooms are queried.
625-
filter_empty_rooms: Optional flag to filter empty and non-empty rooms.
625+
empty_rooms: Optional flag to filter empty and non-empty rooms.
626626
A room is empty if joined_members is zero.
627627
If true, empty rooms are queried.
628628
if false, empty rooms are excluded from the query. When it is
@@ -651,12 +651,12 @@ async def get_rooms_paginate(
651651
f"#%{search_term.lower()}%:%",
652652
search_term,
653653
]
654-
if filter_public_rooms is not None:
655-
filter_arg = "1" if filter_public_rooms else "0"
654+
if public_rooms is not None:
655+
filter_arg = "1" if public_rooms else "0"
656656
filter_.append(f"rooms.is_public = '{filter_arg}'")
657657

658-
if filter_empty_rooms is not None:
659-
if filter_empty_rooms:
658+
if empty_rooms is not None:
659+
if empty_rooms:
660660
filter_.append("curr.joined_members = 0")
661661
else:
662662
filter_.append("curr.joined_members <> 0")

tests/rest/admin/test_room.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1817,7 +1817,7 @@ def test_filter_public_rooms(self) -> None:
18171817

18181818
response = self.make_request(
18191819
"GET",
1820-
"/_synapse/admin/v1/rooms?filter_public_rooms=true",
1820+
"/_synapse/admin/v1/rooms?public_rooms=true",
18211821
access_token=self.admin_user_tok,
18221822
)
18231823
self.assertEqual(200, response.code, msg=response.json_body)
@@ -1826,7 +1826,7 @@ def test_filter_public_rooms(self) -> None:
18261826

18271827
response = self.make_request(
18281828
"GET",
1829-
"/_synapse/admin/v1/rooms?filter_public_rooms=false",
1829+
"/_synapse/admin/v1/rooms?public_rooms=false",
18301830
access_token=self.admin_user_tok,
18311831
)
18321832
self.assertEqual(200, response.code, msg=response.json_body)
@@ -1856,7 +1856,7 @@ def test_filter_empty_rooms(self) -> None:
18561856

18571857
response = self.make_request(
18581858
"GET",
1859-
"/_synapse/admin/v1/rooms?filter_empty_rooms=false",
1859+
"/_synapse/admin/v1/rooms?empty_rooms=false",
18601860
access_token=self.admin_user_tok,
18611861
)
18621862
self.assertEqual(200, response.code, msg=response.json_body)
@@ -1865,7 +1865,7 @@ def test_filter_empty_rooms(self) -> None:
18651865

18661866
response = self.make_request(
18671867
"GET",
1868-
"/_synapse/admin/v1/rooms?filter_empty_rooms=true",
1868+
"/_synapse/admin/v1/rooms?empty_rooms=true",
18691869
access_token=self.admin_user_tok,
18701870
)
18711871
self.assertEqual(200, response.code, msg=response.json_body)

0 commit comments

Comments
 (0)