Add store_server_keys_json_multi
This commit is contained in:
+12
-16
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user