mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-25 11:05:49 +03:00
Add set_displayname
to the module API (#14629)
This commit is contained in:
parent
071f8b0f9b
commit
dd9e71dc7f
3 changed files with 46 additions and 0 deletions
1
changelog.d/14629.feature
Normal file
1
changelog.d/14629.feature
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Adds a `set_displayname()` method to the module API for setting a user's display name.
|
|
@ -1585,6 +1585,33 @@ class ModuleApi:
|
||||||
|
|
||||||
return room_id_and_alias["room_id"], room_id_and_alias.get("room_alias", None)
|
return room_id_and_alias["room_id"], room_id_and_alias.get("room_alias", None)
|
||||||
|
|
||||||
|
async def set_displayname(
|
||||||
|
self,
|
||||||
|
user_id: UserID,
|
||||||
|
new_displayname: str,
|
||||||
|
deactivation: bool = False,
|
||||||
|
) -> None:
|
||||||
|
"""Sets a user's display name.
|
||||||
|
|
||||||
|
Added in Synapse v1.76.0.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
user_id:
|
||||||
|
The user whose display name is to be changed.
|
||||||
|
new_displayname:
|
||||||
|
The new display name to give the user.
|
||||||
|
deactivation:
|
||||||
|
Whether this change was made while deactivating the user.
|
||||||
|
"""
|
||||||
|
requester = create_requester(user_id)
|
||||||
|
await self._hs.get_profile_handler().set_displayname(
|
||||||
|
target_user=user_id,
|
||||||
|
requester=requester,
|
||||||
|
new_displayname=new_displayname,
|
||||||
|
by_admin=True,
|
||||||
|
deactivation=deactivation,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class PublicRoomListManager:
|
class PublicRoomListManager:
|
||||||
"""Contains methods for adding to, removing from and querying whether a room
|
"""Contains methods for adding to, removing from and querying whether a room
|
||||||
|
|
|
@ -110,6 +110,24 @@ class ModuleApiTestCase(HomeserverTestCase):
|
||||||
self.assertEqual(found_user.user_id.to_string(), user_id)
|
self.assertEqual(found_user.user_id.to_string(), user_id)
|
||||||
self.assertIdentical(found_user.is_admin, True)
|
self.assertIdentical(found_user.is_admin, True)
|
||||||
|
|
||||||
|
def test_can_set_displayname(self):
|
||||||
|
localpart = "alice_wants_a_new_displayname"
|
||||||
|
user_id = self.register_user(
|
||||||
|
localpart, "1234", displayname="Alice", admin=False
|
||||||
|
)
|
||||||
|
found_userinfo = self.get_success(self.module_api.get_userinfo_by_id(user_id))
|
||||||
|
|
||||||
|
self.get_success(
|
||||||
|
self.module_api.set_displayname(
|
||||||
|
found_userinfo.user_id, "Bob", deactivation=False
|
||||||
|
)
|
||||||
|
)
|
||||||
|
found_profile = self.get_success(
|
||||||
|
self.module_api.get_profile_for_user(localpart)
|
||||||
|
)
|
||||||
|
|
||||||
|
self.assertEqual(found_profile.display_name, "Bob")
|
||||||
|
|
||||||
def test_get_userinfo_by_id(self):
|
def test_get_userinfo_by_id(self):
|
||||||
user_id = self.register_user("alice", "1234")
|
user_id = self.register_user("alice", "1234")
|
||||||
found_user = self.get_success(self.module_api.get_userinfo_by_id(user_id))
|
found_user = self.get_success(self.module_api.get_userinfo_by_id(user_id))
|
||||||
|
|
Loading…
Reference in a new issue