mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-01 16:46:07 -04:00
async/await is_server_admin (#7363)
This commit is contained in:
parent
2e8955f4a6
commit
6b22921b19
22 changed files with 410 additions and 438 deletions
|
@ -141,8 +141,9 @@ class BaseProfileHandler(BaseHandler):
|
|||
|
||||
return result["displayname"]
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def set_displayname(self, target_user, requester, new_displayname, by_admin=False):
|
||||
async def set_displayname(
|
||||
self, target_user, requester, new_displayname, by_admin=False
|
||||
):
|
||||
"""Set the displayname of a user
|
||||
|
||||
Args:
|
||||
|
@ -158,7 +159,7 @@ class BaseProfileHandler(BaseHandler):
|
|||
raise AuthError(400, "Cannot set another user's displayname")
|
||||
|
||||
if not by_admin and not self.hs.config.enable_set_displayname:
|
||||
profile = yield self.store.get_profileinfo(target_user.localpart)
|
||||
profile = await self.store.get_profileinfo(target_user.localpart)
|
||||
if profile.display_name:
|
||||
raise SynapseError(
|
||||
400,
|
||||
|
@ -180,15 +181,15 @@ class BaseProfileHandler(BaseHandler):
|
|||
if by_admin:
|
||||
requester = create_requester(target_user)
|
||||
|
||||
yield self.store.set_profile_displayname(target_user.localpart, new_displayname)
|
||||
await self.store.set_profile_displayname(target_user.localpart, new_displayname)
|
||||
|
||||
if self.hs.config.user_directory_search_all_users:
|
||||
profile = yield self.store.get_profileinfo(target_user.localpart)
|
||||
yield self.user_directory_handler.handle_local_profile_change(
|
||||
profile = await self.store.get_profileinfo(target_user.localpart)
|
||||
await self.user_directory_handler.handle_local_profile_change(
|
||||
target_user.to_string(), profile
|
||||
)
|
||||
|
||||
yield self._update_join_states(requester, target_user)
|
||||
await self._update_join_states(requester, target_user)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_avatar_url(self, target_user):
|
||||
|
@ -217,8 +218,9 @@ class BaseProfileHandler(BaseHandler):
|
|||
|
||||
return result["avatar_url"]
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def set_avatar_url(self, target_user, requester, new_avatar_url, by_admin=False):
|
||||
async def set_avatar_url(
|
||||
self, target_user, requester, new_avatar_url, by_admin=False
|
||||
):
|
||||
"""target_user is the user whose avatar_url is to be changed;
|
||||
auth_user is the user attempting to make this change."""
|
||||
if not self.hs.is_mine(target_user):
|
||||
|
@ -228,7 +230,7 @@ class BaseProfileHandler(BaseHandler):
|
|||
raise AuthError(400, "Cannot set another user's avatar_url")
|
||||
|
||||
if not by_admin and not self.hs.config.enable_set_avatar_url:
|
||||
profile = yield self.store.get_profileinfo(target_user.localpart)
|
||||
profile = await self.store.get_profileinfo(target_user.localpart)
|
||||
if profile.avatar_url:
|
||||
raise SynapseError(
|
||||
400, "Changing avatar is disabled on this server", Codes.FORBIDDEN
|
||||
|
@ -243,15 +245,15 @@ class BaseProfileHandler(BaseHandler):
|
|||
if by_admin:
|
||||
requester = create_requester(target_user)
|
||||
|
||||
yield self.store.set_profile_avatar_url(target_user.localpart, new_avatar_url)
|
||||
await self.store.set_profile_avatar_url(target_user.localpart, new_avatar_url)
|
||||
|
||||
if self.hs.config.user_directory_search_all_users:
|
||||
profile = yield self.store.get_profileinfo(target_user.localpart)
|
||||
yield self.user_directory_handler.handle_local_profile_change(
|
||||
profile = await self.store.get_profileinfo(target_user.localpart)
|
||||
await self.user_directory_handler.handle_local_profile_change(
|
||||
target_user.to_string(), profile
|
||||
)
|
||||
|
||||
yield self._update_join_states(requester, target_user)
|
||||
await self._update_join_states(requester, target_user)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def on_profile_query(self, args):
|
||||
|
@ -279,21 +281,20 @@ class BaseProfileHandler(BaseHandler):
|
|||
|
||||
return response
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _update_join_states(self, requester, target_user):
|
||||
async def _update_join_states(self, requester, target_user):
|
||||
if not self.hs.is_mine(target_user):
|
||||
return
|
||||
|
||||
yield self.ratelimit(requester)
|
||||
await self.ratelimit(requester)
|
||||
|
||||
room_ids = yield self.store.get_rooms_for_user(target_user.to_string())
|
||||
room_ids = await self.store.get_rooms_for_user(target_user.to_string())
|
||||
|
||||
for room_id in room_ids:
|
||||
handler = self.hs.get_room_member_handler()
|
||||
try:
|
||||
# Assume the target_user isn't a guest,
|
||||
# because we don't let guests set profile or avatar data.
|
||||
yield handler.update_membership(
|
||||
await handler.update_membership(
|
||||
requester,
|
||||
target_user,
|
||||
room_id,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue