mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-08 00:15:10 -04:00
Add delete room admin endpoint (#7613)
The Delete Room admin API allows server admins to remove rooms from server
and block these rooms.
`DELETE /_synapse/admin/v1/rooms/<room_id>`
It is a combination and improvement of "[Shutdown room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/shutdown_room.md)" and "[Purge room](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/purge_room.md)" API.
Fixes: #6425
It also fixes a bug in [synapse/storage/data_stores/main/room.py](synapse/storage/data_stores/main/room.py) in ` get_room_with_stats`.
It should return `None` if the room is unknown. But it returns an `IndexError`.
901b1fa561/synapse/storage/data_stores/main/room.py (L99-L105)
Related to:
- #5575
- https://github.com/Awesome-Technologies/synapse-admin/issues/17
Signed-off-by: Dirk Klimpel dirk@klimpel.org
This commit is contained in:
parent
77d2c05410
commit
491f0dab1b
12 changed files with 782 additions and 120 deletions
|
@ -55,6 +55,10 @@ class RoomStoreTestCase(unittest.TestCase):
|
|||
(yield self.store.get_room(self.room.to_string())),
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_get_room_unknown_room(self):
|
||||
self.assertIsNone((yield self.store.get_room("!uknown:test")),)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_get_room_with_stats(self):
|
||||
self.assertDictContainsSubset(
|
||||
|
@ -66,6 +70,10 @@ class RoomStoreTestCase(unittest.TestCase):
|
|||
(yield self.store.get_room_with_stats(self.room.to_string())),
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_get_room_with_stats_unknown_room(self):
|
||||
self.assertIsNone((yield self.store.get_room_with_stats("!uknown:test")),)
|
||||
|
||||
|
||||
class RoomEventsStoreTestCase(unittest.TestCase):
|
||||
@defer.inlineCallbacks
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue