diff options
author | David Baker <dave@matrix.org> | 2018-09-13 17:02:59 +0100 |
---|---|---|
committer | David Baker <dave@matrix.org> | 2018-09-13 17:02:59 +0100 |
commit | bc74925c5b94f0c02603297d4ccb7e05008d5124 (patch) | |
tree | 631363f6ccd5870c44135fdc331da68de32c323b | |
parent | try to make flake8 and isort happy (diff) | |
download | synapse-bc74925c5b94f0c02603297d4ccb7e05008d5124.tar.xz |
WIP e2e key backups
Continues from uhoreg's branch This just fixed the errcode on /room_keys/version if no backup and updates the schema delta to be on the latest so it gets run
-rw-r--r-- | synapse/rest/client/v2_alpha/room_keys.py | 14 | ||||
-rw-r--r-- | synapse/storage/schema/delta/51/e2e_room_keys.sql (renamed from synapse/storage/schema/delta/46/e2e_room_keys.sql) | 0 |
2 files changed, 10 insertions, 4 deletions
diff --git a/synapse/rest/client/v2_alpha/room_keys.py b/synapse/rest/client/v2_alpha/room_keys.py index 1ed18e986f..ea114bc8b4 100644 --- a/synapse/rest/client/v2_alpha/room_keys.py +++ b/synapse/rest/client/v2_alpha/room_keys.py @@ -17,7 +17,7 @@ import logging from twisted.internet import defer -from synapse.api.errors import SynapseError +from synapse.api.errors import SynapseError, Codes from synapse.http.servlet import ( RestServlet, parse_json_object_from_request, @@ -324,9 +324,15 @@ class RoomKeysVersionServlet(RestServlet): requester = yield self.auth.get_user_by_req(request, allow_guest=False) user_id = requester.user.to_string() - info = yield self.e2e_room_keys_handler.get_version_info( - user_id, version - ) + try: + info = yield self.e2e_room_keys_handler.get_version_info( + user_id, version + ) + except SynapseError as e: + if e.code == 404: + e.errcode = Codes.NOT_FOUND + e.msg = "No backup found" + raise e defer.returnValue((200, info)) @defer.inlineCallbacks diff --git a/synapse/storage/schema/delta/46/e2e_room_keys.sql b/synapse/storage/schema/delta/51/e2e_room_keys.sql index 4531fd56ee..4531fd56ee 100644 --- a/synapse/storage/schema/delta/46/e2e_room_keys.sql +++ b/synapse/storage/schema/delta/51/e2e_room_keys.sql |