summary refs log tree commit diff
path: root/synapse/storage/devices.py
diff options
context:
space:
mode:
authorLuke Barnard <lukeb@openmarket.com>2017-03-13 17:53:23 +0000
committerLuke Barnard <lukeb@openmarket.com>2017-03-13 17:53:23 +0000
commitbbeeb97f753e158e9aadd53aff78b076d756917c (patch)
tree53004e3859d9e4078d7f86bcf92d3e705a700ea3 /synapse/storage/devices.py
parentFlake (diff)
downloadsynapse-bbeeb97f753e158e9aadd53aff78b076d756917c.tar.xz
Implement _simple_delete_many_txn, use it to delete devices
(But this doesn't implement the same for deleting access tokens or e2e keys.

Also respond to code review.
Diffstat (limited to '')
-rw-r--r--synapse/storage/devices.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/synapse/storage/devices.py b/synapse/storage/devices.py

index bd56ba2515..563071b7a9 100644 --- a/synapse/storage/devices.py +++ b/synapse/storage/devices.py
@@ -108,6 +108,23 @@ class DeviceStore(SQLBaseStore): desc="delete_device", ) + def delete_devices(self, user_id, device_ids): + """Deletes several devices. + + Args: + user_id (str): The ID of the user which owns the devices + device_ids (list): The IDs of the devices to delete + Returns: + defer.Deferred + """ + return self._simple_delete_many( + table="devices", + column="device_id", + iterable=device_ids, + keyvalues={"user_id": user_id}, + desc="delete_devices", + ) + def update_device(self, user_id, device_id, new_display_name=None): """Update a device.