@@ -748,48 +748,48 @@ def accept_knock(self, group_id, requester_user_id, content):
748748
749749 raise NotImplementedError ()
750750
751- @defer .inlineCallbacks
752- def remove_user_from_group (self , group_id , user_id , requester_user_id , content ):
751+ async def remove_user_from_group (
752+ self , group_id , user_id , requester_user_id , content
753+ ):
753754 """Remove a user from the group; either a user is leaving or an admin
754755 kicked them.
755756 """
756757
757- yield self .check_group_is_ours (group_id , requester_user_id , and_exists = True )
758+ await self .check_group_is_ours (group_id , requester_user_id , and_exists = True )
758759
759760 is_kick = False
760761 if requester_user_id != user_id :
761- is_admin = yield self .store .is_user_admin_in_group (
762+ is_admin = await self .store .is_user_admin_in_group (
762763 group_id , requester_user_id
763764 )
764765 if not is_admin :
765766 raise SynapseError (403 , "User is not admin in group" )
766767
767768 is_kick = True
768769
769- yield self .store .remove_user_from_group (group_id , user_id )
770+ await self .store .remove_user_from_group (group_id , user_id )
770771
771772 if is_kick :
772773 if self .hs .is_mine_id (user_id ):
773774 groups_local = self .hs .get_groups_local_handler ()
774- yield groups_local .user_removed_from_group (group_id , user_id , {})
775+ await groups_local .user_removed_from_group (group_id , user_id , {})
775776 else :
776- yield self .transport_client .remove_user_from_group_notification (
777+ await self .transport_client .remove_user_from_group_notification (
777778 get_domain_from_id (user_id ), group_id , user_id , {}
778779 )
779780
780781 if not self .hs .is_mine_id (user_id ):
781- yield self .store .maybe_delete_remote_profile_cache (user_id )
782+ await self .store .maybe_delete_remote_profile_cache (user_id )
782783
783784 # Delete group if the last user has left
784- users = yield self .store .get_users_in_group (group_id , include_private = True )
785+ users = await self .store .get_users_in_group (group_id , include_private = True )
785786 if not users :
786- yield self .store .delete_group (group_id )
787+ await self .store .delete_group (group_id )
787788
788789 return {}
789790
790- @defer .inlineCallbacks
791- def create_group (self , group_id , requester_user_id , content ):
792- group = yield self .check_group_is_ours (group_id , requester_user_id )
791+ async def create_group (self , group_id , requester_user_id , content ):
792+ group = await self .check_group_is_ours (group_id , requester_user_id )
793793
794794 logger .info ("Attempting to create group with ID: %r" , group_id )
795795
@@ -799,7 +799,7 @@ def create_group(self, group_id, requester_user_id, content):
799799 if group :
800800 raise SynapseError (400 , "Group already exists" )
801801
802- is_admin = yield self .auth .is_server_admin (
802+ is_admin = await self .auth .is_server_admin (
803803 UserID .from_string (requester_user_id )
804804 )
805805 if not is_admin :
@@ -822,7 +822,7 @@ def create_group(self, group_id, requester_user_id, content):
822822 long_description = profile .get ("long_description" )
823823 user_profile = content .get ("user_profile" , {})
824824
825- yield self .store .create_group (
825+ await self .store .create_group (
826826 group_id ,
827827 requester_user_id ,
828828 name = name ,
@@ -834,7 +834,7 @@ def create_group(self, group_id, requester_user_id, content):
834834 if not self .hs .is_mine_id (requester_user_id ):
835835 remote_attestation = content ["attestation" ]
836836
837- yield self .attestations .verify_attestation (
837+ await self .attestations .verify_attestation (
838838 remote_attestation , user_id = requester_user_id , group_id = group_id
839839 )
840840
@@ -845,7 +845,7 @@ def create_group(self, group_id, requester_user_id, content):
845845 local_attestation = None
846846 remote_attestation = None
847847
848- yield self .store .add_user_to_group (
848+ await self .store .add_user_to_group (
849849 group_id ,
850850 requester_user_id ,
851851 is_admin = True ,
@@ -855,16 +855,15 @@ def create_group(self, group_id, requester_user_id, content):
855855 )
856856
857857 if not self .hs .is_mine_id (requester_user_id ):
858- yield self .store .add_remote_profile_cache (
858+ await self .store .add_remote_profile_cache (
859859 requester_user_id ,
860860 displayname = user_profile .get ("displayname" ),
861861 avatar_url = user_profile .get ("avatar_url" ),
862862 )
863863
864864 return {"group_id" : group_id }
865865
866- @defer .inlineCallbacks
867- def delete_group (self , group_id , requester_user_id ):
866+ async def delete_group (self , group_id , requester_user_id ):
868867 """Deletes a group, kicking out all current members.
869868
870869 Only group admins or server admins can call this request
@@ -877,33 +876,32 @@ def delete_group(self, group_id, requester_user_id):
877876 Deferred
878877 """
879878
880- yield self .check_group_is_ours (group_id , requester_user_id , and_exists = True )
879+ await self .check_group_is_ours (group_id , requester_user_id , and_exists = True )
881880
882881 # Only server admins or group admins can delete groups.
883882
884- is_admin = yield self .store .is_user_admin_in_group (group_id , requester_user_id )
883+ is_admin = await self .store .is_user_admin_in_group (group_id , requester_user_id )
885884
886885 if not is_admin :
887- is_admin = yield self .auth .is_server_admin (
886+ is_admin = await self .auth .is_server_admin (
888887 UserID .from_string (requester_user_id )
889888 )
890889
891890 if not is_admin :
892891 raise SynapseError (403 , "User is not an admin" )
893892
894893 # Before deleting the group lets kick everyone out of it
895- users = yield self .store .get_users_in_group (group_id , include_private = True )
894+ users = await self .store .get_users_in_group (group_id , include_private = True )
896895
897- @defer .inlineCallbacks
898- def _kick_user_from_group (user_id ):
896+ async def _kick_user_from_group (user_id ):
899897 if self .hs .is_mine_id (user_id ):
900898 groups_local = self .hs .get_groups_local_handler ()
901- yield groups_local .user_removed_from_group (group_id , user_id , {})
899+ await groups_local .user_removed_from_group (group_id , user_id , {})
902900 else :
903- yield self .transport_client .remove_user_from_group_notification (
901+ await self .transport_client .remove_user_from_group_notification (
904902 get_domain_from_id (user_id ), group_id , user_id , {}
905903 )
906- yield self .store .maybe_delete_remote_profile_cache (user_id )
904+ await self .store .maybe_delete_remote_profile_cache (user_id )
907905
908906 # We kick users out in the order of:
909907 # 1. Non-admins
@@ -922,11 +920,11 @@ def _kick_user_from_group(user_id):
922920 else :
923921 non_admins .append (u ["user_id" ])
924922
925- yield concurrently_execute (_kick_user_from_group , non_admins , 10 )
926- yield concurrently_execute (_kick_user_from_group , admins , 10 )
927- yield _kick_user_from_group (requester_user_id )
923+ await concurrently_execute (_kick_user_from_group , non_admins , 10 )
924+ await concurrently_execute (_kick_user_from_group , admins , 10 )
925+ await _kick_user_from_group (requester_user_id )
928926
929- yield self .store .delete_group (group_id )
927+ await self .store .delete_group (group_id )
930928
931929
932930def _parse_join_policy_from_contents (content ):
0 commit comments