summary refs log tree commit diff
path: root/synapse/handlers/device.py
diff options
context:
space:
mode:
authorreivilibre <oliverw@matrix.org>2021-12-13 15:39:43 +0000
committerGitHub <noreply@github.com>2021-12-13 15:39:43 +0000
commite5cdb9e2339e321e8a77a898d362d7fbc476303b (patch)
tree7ddb175af84267fd6e1cfb547346a7358a214fb5 /synapse/handlers/device.py
parentAllow events to be created with no `prev_events` (MSC2716) (#11243) (diff)
downloadsynapse-e5cdb9e2339e321e8a77a898d362d7fbc476303b.tar.xz
Make `get_device` return None if the device doesn't exist rather than raising an exception. (#11565)
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
Diffstat (limited to 'synapse/handlers/device.py')
-rw-r--r--synapse/handlers/device.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py

index 82ee11e921..7665425232 100644 --- a/synapse/handlers/device.py +++ b/synapse/handlers/device.py
@@ -106,10 +106,10 @@ class DeviceWorkerHandler: Raises: errors.NotFoundError: if the device was not found """ - try: - device = await self.store.get_device(user_id, device_id) - except errors.StoreError: - raise errors.NotFoundError + device = await self.store.get_device(user_id, device_id) + if device is None: + raise errors.NotFoundError() + ips = await self.store.get_last_client_ip_by_device(user_id, device_id) _update_device_from_client_ips(device, ips) @@ -602,6 +602,8 @@ class DeviceHandler(DeviceWorkerHandler): access_token, device_id ) old_device = await self.store.get_device(user_id, old_device_id) + if old_device is None: + raise errors.NotFoundError() await self.store.update_device(user_id, device_id, old_device["display_name"]) # can't call self.delete_device because that will clobber the # access token so call the storage layer directly