forked from MirrorHub/synapse
Remove old admin API GET /_synapse/admin/v1/users/<user_id>
(#9401)
Related: #8334 Deprecated in: #9429 - Synapse 1.28.0 (2021-02-25) `GET /_synapse/admin/v1/users/<user_id>` has no - unit tests - documentation API in v2 is available (#5925 - 12/2019, v1.7.0). API is misleading. It expects `user_id` and returns a list of all users. Signed-off-by: Dirk Klimpel dirk@klimpel.org
This commit is contained in:
parent
2ca4e349e9
commit
48a1f4db31
5 changed files with 16 additions and 27 deletions
13
UPGRADE.rst
13
UPGRADE.rst
|
@ -85,6 +85,19 @@ for example:
|
||||||
wget https://packages.matrix.org/debian/pool/main/m/matrix-synapse-py3/matrix-synapse-py3_1.3.0+stretch1_amd64.deb
|
wget https://packages.matrix.org/debian/pool/main/m/matrix-synapse-py3/matrix-synapse-py3_1.3.0+stretch1_amd64.deb
|
||||||
dpkg -i matrix-synapse-py3_1.3.0+stretch1_amd64.deb
|
dpkg -i matrix-synapse-py3_1.3.0+stretch1_amd64.deb
|
||||||
|
|
||||||
|
Upgrading to v1.32.0
|
||||||
|
====================
|
||||||
|
|
||||||
|
Removal of old List Accounts Admin API
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
The deprecated v1 "list accounts" admin API (``GET /_synapse/admin/v1/users/<user_id>``) has been removed in this version.
|
||||||
|
|
||||||
|
The `v2 list accounts API <https://github.com/matrix-org/synapse/blob/master/docs/admin_api/user_admin_api.rst#list-accounts>`_
|
||||||
|
has been available since Synapse 1.7.0 (2019-12-13), and is accessible under ``GET /_synapse/admin/v2/users``.
|
||||||
|
|
||||||
|
The deprecation of the old endpoint was announced with Synapse 1.28.0 (released on 2021-02-25).
|
||||||
|
|
||||||
Upgrading to v1.29.0
|
Upgrading to v1.29.0
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
|
1
changelog.d/9401.removal
Normal file
1
changelog.d/9401.removal
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Remove old admin API `GET /_synapse/admin/v1/users/<user_id>`.
|
|
@ -62,7 +62,6 @@ from synapse.rest.admin.users import (
|
||||||
UserMembershipRestServlet,
|
UserMembershipRestServlet,
|
||||||
UserRegisterServlet,
|
UserRegisterServlet,
|
||||||
UserRestServletV2,
|
UserRestServletV2,
|
||||||
UsersRestServlet,
|
|
||||||
UsersRestServletV2,
|
UsersRestServletV2,
|
||||||
UserTokenRestServlet,
|
UserTokenRestServlet,
|
||||||
WhoisRestServlet,
|
WhoisRestServlet,
|
||||||
|
@ -248,7 +247,6 @@ def register_servlets_for_client_rest_resource(hs, http_server):
|
||||||
PurgeHistoryStatusRestServlet(hs).register(http_server)
|
PurgeHistoryStatusRestServlet(hs).register(http_server)
|
||||||
DeactivateAccountRestServlet(hs).register(http_server)
|
DeactivateAccountRestServlet(hs).register(http_server)
|
||||||
PurgeHistoryRestServlet(hs).register(http_server)
|
PurgeHistoryRestServlet(hs).register(http_server)
|
||||||
UsersRestServlet(hs).register(http_server)
|
|
||||||
ResetPasswordRestServlet(hs).register(http_server)
|
ResetPasswordRestServlet(hs).register(http_server)
|
||||||
SearchUsersRestServlet(hs).register(http_server)
|
SearchUsersRestServlet(hs).register(http_server)
|
||||||
ShutdownRoomRestServlet(hs).register(http_server)
|
ShutdownRoomRestServlet(hs).register(http_server)
|
||||||
|
|
|
@ -45,29 +45,6 @@ if TYPE_CHECKING:
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class UsersRestServlet(RestServlet):
|
|
||||||
PATTERNS = admin_patterns("/users/(?P<user_id>[^/]*)$")
|
|
||||||
|
|
||||||
def __init__(self, hs: "HomeServer"):
|
|
||||||
self.hs = hs
|
|
||||||
self.store = hs.get_datastore()
|
|
||||||
self.auth = hs.get_auth()
|
|
||||||
self.admin_handler = hs.get_admin_handler()
|
|
||||||
|
|
||||||
async def on_GET(
|
|
||||||
self, request: SynapseRequest, user_id: str
|
|
||||||
) -> Tuple[int, List[JsonDict]]:
|
|
||||||
target_user = UserID.from_string(user_id)
|
|
||||||
await assert_requester_is_admin(self.auth, request)
|
|
||||||
|
|
||||||
if not self.hs.is_mine(target_user):
|
|
||||||
raise SynapseError(400, "Can only users a local user")
|
|
||||||
|
|
||||||
ret = await self.store.get_users()
|
|
||||||
|
|
||||||
return 200, ret
|
|
||||||
|
|
||||||
|
|
||||||
class UsersRestServletV2(RestServlet):
|
class UsersRestServletV2(RestServlet):
|
||||||
PATTERNS = admin_patterns("/users$", "v2")
|
PATTERNS = admin_patterns("/users$", "v2")
|
||||||
|
|
||||||
|
|
|
@ -390,7 +390,7 @@ class ClientIpStoreTestCase(unittest.HomeserverTestCase):
|
||||||
class ClientIpAuthTestCase(unittest.HomeserverTestCase):
|
class ClientIpAuthTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
servlets = [
|
servlets = [
|
||||||
synapse.rest.admin.register_servlets_for_client_rest_resource,
|
synapse.rest.admin.register_servlets,
|
||||||
login.register_servlets,
|
login.register_servlets,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -434,7 +434,7 @@ class ClientIpAuthTestCase(unittest.HomeserverTestCase):
|
||||||
self.reactor,
|
self.reactor,
|
||||||
self.site,
|
self.site,
|
||||||
"GET",
|
"GET",
|
||||||
"/_synapse/admin/v1/users/" + self.user_id,
|
"/_synapse/admin/v2/users/" + self.user_id,
|
||||||
access_token=access_token,
|
access_token=access_token,
|
||||||
custom_headers=headers1.items(),
|
custom_headers=headers1.items(),
|
||||||
**make_request_args,
|
**make_request_args,
|
||||||
|
|
Loading…
Reference in a new issue