1
0

Add store_server_keys_json_multi

This commit is contained in:
Erik Johnston
2021-08-06 15:45:15 +01:00
parent d3e555f90d
commit 717fca45b4
2 changed files with 25 additions and 16 deletions
+12 -16
View File
@@ -544,22 +544,18 @@ class BaseV2KeyFetcher(KeyFetcher):
key_json_bytes = encode_canonical_json(response_json)
await make_deferred_yieldable(
defer.gatherResults(
[
run_in_background(
self.store.store_server_keys_json,
server_name=server_name,
key_id=key_id,
from_server=from_server,
ts_now_ms=time_added_ms,
ts_expires_ms=ts_valid_until_ms,
key_json_bytes=key_json_bytes,
)
for key_id in verify_keys
],
consumeErrors=True,
).addErrback(unwrapFirstError)
await self.store.store_server_keys_json_multi(
[
(
server_name,
key_id,
from_server,
time_added_ms,
ts_valid_until_ms,
key_json_bytes,
)
for key_id in verify_keys
],
)
return verify_keys
+13
View File
@@ -138,6 +138,19 @@ class KeyStore(SQLBaseStore):
for i in invalidations:
invalidate((i,))
async def store_server_keys_json_multi(
self,
entries: List[Tuple[str, str, str, int, int, bytes]],
):
await self.db_pool.simple_upsert_many(
table="server_keys_json",
key_names=("server_name", "key_id", "from_server"),
key_values=[e[:3] for e in entries],
value_names=("ts_added_ms", "ts_valid_until_ms", "key_json"),
value_values=[(e[3], e[4], db_binary_type(e[5])) for e in entries],
desc="store_server_keys_json_multi",
)
async def store_server_keys_json(
self,
server_name: str,