diff options
author | reivilibre <oliverw@matrix.org> | 2021-12-13 15:39:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-13 15:39:43 +0000 |
commit | e5cdb9e2339e321e8a77a898d362d7fbc476303b (patch) | |
tree | 7ddb175af84267fd6e1cfb547346a7358a214fb5 /synapse/handlers/device.py | |
parent | Allow events to be created with no `prev_events` (MSC2716) (#11243) (diff) | |
download | synapse-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.py | 10 |
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 |