Refactor _get_e2e_device_keys_for_federation_query_txn (#8225)

We can use the existing `_get_e2e_device_keys_and_signatures_txn` instead of
creating our own txn function
This commit is contained in:
Richard van der Hoff 2020-09-02 15:53:26 +01:00 committed by GitHub
parent 82c1ee1c22
commit 0d4f614fda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 11 deletions

1
changelog.d/8225.misc Normal file
View file

@ -0,0 +1 @@
Refactor queries for device keys and cross-signatures.

View file

@ -24,7 +24,7 @@ from twisted.enterprise.adbapi import Connection
from synapse.logging.opentracing import log_kv, set_tag, trace
from synapse.storage._base import SQLBaseStore, db_to_json
from synapse.storage.database import LoggingTransaction, make_in_list_sql_clause
from synapse.storage.database import make_in_list_sql_clause
from synapse.types import JsonDict
from synapse.util import json_encoder
from synapse.util.caches.descriptors import cached, cachedList
@ -58,18 +58,13 @@ class EndToEndKeyWorkerStore(SQLBaseStore):
Returns:
(stream_id, devices)
"""
return await self.db_pool.runInteraction(
"get_e2e_device_keys_for_federation_query",
self._get_e2e_device_keys_for_federation_query_txn,
user_id,
)
def _get_e2e_device_keys_for_federation_query_txn(
self, txn: LoggingTransaction, user_id: str
) -> Tuple[int, List[JsonDict]]:
now_stream_id = self.get_device_stream_token()
devices = self._get_e2e_device_keys_and_signatures_txn(txn, [(user_id, None)])
devices = await self.db_pool.runInteraction(
"get_e2e_device_keys_and_signatures_txn",
self._get_e2e_device_keys_and_signatures_txn,
[(user_id, None)],
)
if devices:
user_devices = devices[user_id]