diff options
author | Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> | 2020-02-26 12:22:55 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-26 12:22:55 +0000 |
commit | 8c75b621bfe03725cc8da071516ebc66d3872760 (patch) | |
tree | 5ba2ed0d2bc178d3fc8f846b9d08625eeb7c4e83 /synapse/rest/admin | |
parent | Sanity-check database before running upgrades (#6982) (diff) | |
download | synapse-8c75b621bfe03725cc8da071516ebc66d3872760.tar.xz |
Ensure 'deactivated' parameter is a boolean on user admin API, Fix error handling of call to deactivate user (#6990)
Diffstat (limited to 'synapse/rest/admin')
-rw-r--r-- | synapse/rest/admin/users.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/synapse/rest/admin/users.py b/synapse/rest/admin/users.py index 2107b5dc56..c5b461a236 100644 --- a/synapse/rest/admin/users.py +++ b/synapse/rest/admin/users.py @@ -228,13 +228,16 @@ class UserRestServletV2(RestServlet): ) if "deactivated" in body: - deactivate = bool(body["deactivated"]) + deactivate = body["deactivated"] + if not isinstance(deactivate, bool): + raise SynapseError( + 400, "'deactivated' parameter is not of type boolean" + ) + if deactivate and not user["deactivated"]: - result = await self.deactivate_account_handler.deactivate_account( + await self.deactivate_account_handler.deactivate_account( target_user.to_string(), False ) - if not result: - raise SynapseError(500, "Could not deactivate user") user = await self.admin_handler.get_user(target_user) return 200, user |