@@ -648,7 +648,7 @@ def delete_e2e_keys_by_device_txn(txn):
648
648
"delete_e2e_keys_by_device" , delete_e2e_keys_by_device_txn
649
649
)
650
650
651
- def _set_e2e_cross_signing_key_txn (self , txn , user_id , key_type , key ):
651
+ def _set_e2e_cross_signing_key_txn (self , txn , user_id , key_type , key , stream_id ):
652
652
"""Set a user's cross-signing key.
653
653
654
654
Args:
@@ -658,6 +658,7 @@ def _set_e2e_cross_signing_key_txn(self, txn, user_id, key_type, key):
658
658
for a master key, 'self_signing' for a self-signing key, or
659
659
'user_signing' for a user-signing key
660
660
key (dict): the key data
661
+ stream_id (int)
661
662
"""
662
663
# the 'key' dict will look something like:
663
664
# {
@@ -695,37 +696,39 @@ def _set_e2e_cross_signing_key_txn(self, txn, user_id, key_type, key):
695
696
)
696
697
697
698
# and finally, store the key itself
698
- with self ._cross_signing_id_gen .get_next () as stream_id :
699
- self .db_pool .simple_insert_txn (
700
- txn ,
701
- "e2e_cross_signing_keys" ,
702
- values = {
703
- "user_id" : user_id ,
704
- "keytype" : key_type ,
705
- "keydata" : json_encoder .encode (key ),
706
- "stream_id" : stream_id ,
707
- },
708
- )
699
+ self .db_pool .simple_insert_txn (
700
+ txn ,
701
+ "e2e_cross_signing_keys" ,
702
+ values = {
703
+ "user_id" : user_id ,
704
+ "keytype" : key_type ,
705
+ "keydata" : json_encoder .encode (key ),
706
+ "stream_id" : stream_id ,
707
+ },
708
+ )
709
709
710
710
self ._invalidate_cache_and_stream (
711
711
txn , self ._get_bare_e2e_cross_signing_keys , (user_id ,)
712
712
)
713
713
714
- def set_e2e_cross_signing_key (self , user_id , key_type , key ):
714
+ async def set_e2e_cross_signing_key (self , user_id , key_type , key ):
715
715
"""Set a user's cross-signing key.
716
716
717
717
Args:
718
718
user_id (str): the user to set the user-signing key for
719
719
key_type (str): the type of cross-signing key to set
720
720
key (dict): the key data
721
721
"""
722
- return self .db_pool .runInteraction (
723
- "add_e2e_cross_signing_key" ,
724
- self ._set_e2e_cross_signing_key_txn ,
725
- user_id ,
726
- key_type ,
727
- key ,
728
- )
722
+
723
+ with await self ._cross_signing_id_gen .get_next () as stream_id :
724
+ return await self .db_pool .runInteraction (
725
+ "add_e2e_cross_signing_key" ,
726
+ self ._set_e2e_cross_signing_key_txn ,
727
+ user_id ,
728
+ key_type ,
729
+ key ,
730
+ stream_id ,
731
+ )
729
732
730
733
def store_e2e_cross_signing_signatures (self , user_id , signatures ):
731
734
"""Stores cross-signing signatures.
0 commit comments